﻿<local:LayoutAwarePage
    x:Class="PilotsHubApp.InsiderProfilePage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PilotsHubApp"
    xmlns:common="using:PilotsHubApp.Common"
    xmlns:converters="using:PilotsHubApp.Converters"
    xmlns:controls="using:PilotsHubApp.Controls"
    xmlns:dependencyProperties="using:PilotsHubApp.DependencyProperties"    
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <local:LayoutAwarePage.Resources>
        <ResourceDictionary>
            <converters:NullableObjectConverter x:Key="NullableObjectConverter" />
            <converters:ValidDateTimeToVisibilityConverter x:Key="ValidDateTimeToVisibilityConverter" />
            <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
            <converters:StringFormatConverter x:Key="StringFormatConverter" />
            <converters:DateTimeUtcToLocalFormatConverter x:Key="DateTimeUtcToLocalFormatConverter" />
            <converters:BooleanToColorConverter
                x:Key="ErrorStateToColorConverter"
                TrueColorBrush="{StaticResource TelemetrySuccessBrush}"
                FalseColorBrush="{StaticResource TelemetryErrorBrush}"/>
            <converters:DebugSettingToVisibilityConverter x:Key="DebugSettingToVisibilityConverter" />
            <converters:InternalVisibilityConverter x:Key="InternalVisibilityConverter"/>
            <converters:NullableStringToVisibilityConverter x:Key="NullableStringToVisibilityConverter"/>
            <converters:ValueToStringFormatConverter x:Key="ValueToStringFormatConverter"/>

            <DataTemplate x:Key="UTCRingBufferTemplate">
                <Grid Margin="0,0,0,15">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*" />
                        <RowDefinition Height="Auto" />
                    </Grid.RowDefinitions>

                    <Grid Grid.Row="0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>

                        <TextBlock Grid.Column="0" Text="{Binding Title}" HorizontalAlignment="Left" Style="{StaticResource UploadTelemetryPageTextBlock}" />
                        <TextBlock Grid.Column="1" HorizontalAlignment="Right" Style="{StaticResource UploadTelemetryPageTextBlock}"
                                   Text="{Binding Path=Value,
                                          ElementName=UtcBufferFillProgressBar,
                                          Converter={StaticResource StringFormatConverter}, ConverterParameter='{}{0}%'}" />
                    </Grid>
                    <ProgressBar x:Name="UtcBufferFillProgressBar"
                                 Grid.Row="1"
                                 IsIndeterminate="False"
                                 Height="10" Width="300"
                                 Maximum="100"
                                 Value="{Binding PercentsFilled}" />
                </Grid>
            </DataTemplate>
        </ResourceDictionary>
    </local:LayoutAwarePage.Resources>

    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" x:Name="ProfilePageScrollViewer">
        <Grid Background="{ThemeResource PageBackgroundColorBrush}">

            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <!-- Header -->
            <Grid Grid.Row="0" Background="{ThemeResource MainPageAccentColorBrush}">
                <StackPanel>
                <StackPanel Margin="0, 40, 0, 40" HorizontalAlignment="Center">
                    <Ellipse Width="100" Height="100">
                        <Ellipse.Fill>
                            <ImageBrush Stretch="UniformToFill" ImageSource="{Binding ProfilePicture}"/>
                        </Ellipse.Fill>
                    </Ellipse>
                    <TextBlock HorizontalAlignment="Center" FontWeight="Light" FontSize="34" Foreground="{ThemeResource AppBarItemForegroundThemeBrush}" TextWrapping="WrapWholeWords" Text="{Binding InsiderName}"/>
                    <TextBlock HorizontalAlignment="Center" FontWeight="Normal" FontSize="15" Foreground="{ThemeResource AppBarItemForegroundThemeBrush}" TextWrapping="WrapWholeWords" Text="{Binding InsiderSince}"/>
                </StackPanel>
                    <Rectangle Fill="{ThemeResource PilotsHubWhiteBackgroundBrush}" Height="48"/>
                    <Border BorderThickness=".5" BorderBrush="{ThemeResource PilotsHubBorderBrush}"/>
                </StackPanel>
            </Grid>

            <!-- Achievement detail popup -->
            <Popup x:ConnectionId='1' Grid.Row="1"
                    IsOpen="{Binding AchievementsPageViewModel.PopupOpen, Mode=TwoWay}"
                                                    
                    IsLightDismissEnabled="True"
                    VerticalAlignment="Center"
                    HorizontalAlignment="Center">
                <Border
                        Style="{StaticResource ParticipationPageBorderStyle}"
                        BorderBrush="{ThemeResource PilotsHubBorderBrush}"
                        Background="{ThemeResource ApplicationForegroundThemeBrush}"
                        BorderThickness="2"
                        Width="400">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                        <!-- Achievement image -->
                        <ContentControl Grid.Column="0"
                                Content="{Binding AchievementsPageViewModel.SelectedAchievement}"
                                ContentTemplate="{StaticResource AchievementItemTemplate}">
                        </ContentControl>

                        <!-- Achievement details -->
                        <StackPanel Grid.Column="1" Margin="10,0,0,0">
                            <TextBlock
                                    Style="{StaticResource AchievementDetailsTextBox}"
                                    LineStackingStrategy="BlockLineHeight"
                                    LineHeight="20"
                                    FontSize="15"
                                    FontWeight="SemiBold"
                                    Text="{Binding AchievementsPageViewModel.SelectedAchievement.Name}"/>
                            <TextBlock
                                    Style="{StaticResource AchievementDetailsTextBox}"
                                    FontSize="12"
                                    FontWeight="Normal"
                                    Visibility="{Binding AchievementsPageViewModel.SelectedAchievement.DateEarnedUtc, Converter={StaticResource ValidDateTimeToVisibilityConverter}}">
                                <Run
                                        x:Uid="EarnedOnLabel"
                                        x:Name="EarnedOnLabel"
                                        Text="Earned on (PH)"/>
                                <Run
                                        Text="{Binding AchievementsPageViewModel.SelectedAchievement.DateEarnedUtc, Converter={StaticResource DateTimeUtcToLocalFormatConverter}, ConverterParameter='\{0:d\}'}"/>
                            </TextBlock>
                            <TextBlock
                                    x:Uid="AchievementNotEarned"
                                    x:Name="AchievementNotEarned"
                                    Style="{StaticResource AchievementDetailsTextBox}"
                                    FontSize="12"
                                    FontWeight="Normal"
                                    Visibility="{Binding AchievementsPageViewModel.SelectedAchievement.DateEarnedUtc, Converter={StaticResource ValidDateTimeToVisibilityConverter}, ConverterParameter=Invert}"
                                    Text="(Not earned) (PH)" />
                            <TextBlock
                                    Style="{StaticResource AchievementDetailsTextBox}"
                                    FontSize="15"
                                    FontWeight="Normal"
                                    Margin="0,15,0,0"
                                    Text="{Binding AchievementsPageViewModel.SelectedAchievement.Description}"/>
                        </StackPanel>
                    </Grid>
                </Border>
            </Popup>

            <!-- Tabs -->
            <!-- Width = 800 + 24 to account for 12px padding on each side of the pivot -->
            <!-- Upper margin is -48 in order to lay the pivot header on top of the white rectangle from the header -->
            <Pivot Grid.Row="2" x:Name="PivotControl" SelectedIndex="{Binding SelectedTabIndex, Mode=TwoWay}" Width="824" Margin="0,-48,0,0">
                <Pivot.HeaderTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding}" FontSize="15"/>
                    </DataTemplate>
                </Pivot.HeaderTemplate>
                <PivotItem x:Uid="PivotOverviewTab" x:Name="PivotOverviewTab">
                <!-- Overview Tab -->
                <Grid 
                x:Name="OverviewGrid" 
                HorizontalAlignment="Center" 
                Margin="0,36,0,36">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="388"/>
                        <ColumnDefinition Width="24"/>
                        <ColumnDefinition Width="388"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition MinHeight="220" Height="Auto"/>
                        <RowDefinition Height="24"/>
                        <RowDefinition MinHeight="220" Height="Auto"/>
                    </Grid.RowDefinitions>
                    <Border Style="{StaticResource ParticipationPageBorderStyle}" Grid.Column="0" Grid.Row="0">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <StackPanel Grid.Row="0">
                                <TextBlock Style="{StaticResource ParticipationPageSectionHeaderStyle}" >
                                    <Run 
                                    FontFamily="Segoe MDL2 Assets" 
                                    Foreground="{ThemeResource AccentTextBrush}"
                                    Text="&#xE208;" />
                                    <Run 
                                    x:Uid="YourAchievementsHeader" 
                                    x:Name="YourAchievementsHeader" 
                                    Text="Your achievements (PH)"/>
                                </TextBlock>
                                <GridView
                                    Margin="0,0,0,0"
                                    ItemsSource="{Binding AchievementsPageViewModel.PreviewAchievements}"
                                    ItemTemplate="{StaticResource AchievementItemTemplate}"
                                    SelectionMode="None"
                                    IsSwipeEnabled="false"
                                    IsItemClickEnabled="True"
                                    common:GridViewCommand.Command="{Binding AchievementsPageViewModel.AchievementClickCommand}"
                                    IsTabStop="True">
                                    <GridView.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <VariableSizedWrapGrid Orientation="Horizontal" />
                                        </ItemsPanelTemplate>
                                    </GridView.ItemsPanel>
                                    <GridView.Header>
                                        <StackPanel>
                                            <TextBlock                                    
                                            x:Uid="AchievementsNoResultsError"
                                            x:Name="AchievementsNoResultsError"
                                            Text="No Achievements (PH)" 
                                            FontSize="15"
                                            Style="{StaticResource HubPageTextBlockHeaderStyle}"
                                            TextWrapping="WrapWholeWords"
                                            Visibility="{Binding AchievementsPageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NoResults}"/>

                                            <TextBlock 
                                            x:Uid="AchievementsNetworkError"
                                            x:Name="AchievementsNetworkError"
                                            Text="An Error Occured downloading Achievements(PH)"   
                                            FontSize="15"
                                            Style="{StaticResource HubPageTextBlockHeaderStyle}"
                                            TextWrapping="WrapWholeWords"
                                            Visibility="{Binding AchievementsPageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=Error}"/>
                                        </StackPanel>
                                    </GridView.Header>
                                </GridView>
                            </StackPanel>
                                    <!-- Navigate to achievements tab that has a static index 1-->
                            <common:HandHyperlinkButton
                                    VerticalAlignment="Bottom"
                                    Grid.Row="1" 
                                    Margin="0,0,0,0"
                                    Style="{StaticResource ParticipationPageSectionFooterStyle}"
                                         Command="{Binding SwitchTabCommand}" 
                                    CommandParameter="1">
                                <TextBlock FontWeight="Normal">
                                    <Run x:Uid="ShowAchievements" x:Name="ShowAchievements" Text="Show all (PLACEHOLDER)" />
                                </TextBlock>
                            </common:HandHyperlinkButton>
                        </Grid>
                    </Border>
                    <Border Style="{StaticResource ParticipationPageBorderStyle}" Grid.Column="2" Grid.Row="0">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <StackPanel Grid.Row="0">
                                <TextBlock Style="{StaticResource ParticipationPageSectionHeaderStyle}">
                                    <Run 
                                        FontFamily="Segoe MDL2 Assets" 
                                        Foreground="{ThemeResource AccentTextBrush}"
                                        Text="&#xE939;" />
                                    <Run 
                                        x:Uid="WindowsFeedbackHeader" 
                                        x:Name="WindowsFeedbackHeader" 
                                        Text="Windows Feedback (PH)"/>
                                </TextBlock>
                                <TextBlock 
                                    Style="{StaticResource ParticipationPageTextStyle}"
                                    Visibility="{Binding SiufResponseCategory, Converter={StaticResource NullableStringToVisibilityConverter}}"> 
                                    <Run FontWeight="Bold"
                                         Text="{Binding SiufResponsePercentage,
                                                Converter={StaticResource ValueToStringFormatConverter},
                                                ConverterParameter=FeedbackToastResponsePercentFormat}" />
                                    <Run x:Uid="FeedbackToastResponseRate" Text="feedback toast response rate (PH)"/>
                                </TextBlock>
                                <TextBlock
                                    Margin="0,0,0,20"
                                    Style="{StaticResource ParticipationPageTextStyle}"
                                    Visibility="{Binding SiufResponseCategory, Converter={StaticResource NullableStringToVisibilityConverter}}">
                                    <Run FontWeight="Bold" Text="{Binding SiufResponseCategory}"/>
                                </TextBlock>
                                <TextBlock Style="{StaticResource ParticipationPageTextStyle}">
                                    <Run FontWeight="Bold" Text="{Binding CountUIFs, Converter={StaticResource NullableObjectConverter}}"/>
                                    <Run x:Uid="CountUIFs" Text="times you've submitted feedback (PH)"/>
                                </TextBlock>
                                <TextBlock Style="{StaticResource ParticipationPageTextStyle}">
                                    <Run FontWeight="Bold" Text="{Binding CountPlusOnesOnUIFs, Converter={StaticResource NullableObjectConverter}}"/>
                                    <Run x:Uid="CountPlusOnesOnUIFsNew" Text="upvotes your feedback has gotten (PH)"/>
                                </TextBlock>
                            </StackPanel>
                            <!-- Link to feedback app -->
                            <common:HandHyperlinkButton
                                Grid.Row="1"
                                VerticalAlignment="Bottom"
                                Style="{StaticResource ParticipationPageSectionFooterStyle}"
                                Command="{Binding LaunchFeedbackAppCommand}">
                                <TextBlock FontWeight="Normal">
                                    <Run x:Uid="FeedbackAppLink" x:Name="FeedbackAppLink" Text="Launch Windows Feedback (PLACEHOLDER)" />
                                </TextBlock>
                            </common:HandHyperlinkButton>

                        </Grid>
                    </Border>
                    <Border Style="{StaticResource ParticipationPageBorderStyle}" Grid.Column="0" Grid.Row="2">
                        <Grid>
                            <StackPanel>
                                <TextBlock Style="{StaticResource ParticipationPageSectionHeaderStyle}">
                                    <Run
                                    FontFamily="Segoe MDL2 Assets" 
                                    Foreground="{ThemeResource AccentTextBrush}"
                                    Text="&#xE789;" />
                                    <Run
                                    x:Uid="InsiderQuestsHeader" 
                                    x:Name="InsiderQuestsHeader" 
                                    Text="Insider quests (PH)"/>
                                </TextBlock>
                                <TextBlock Style="{StaticResource ParticipationPageTextStyle}">
                                <Run FontWeight="Bold" Text="{Binding TotalQuestsCompleted, Converter={StaticResource NullableObjectConverter}}"/>
                                <Run x:Uid="NumQuestsCompletedV2" Text="quests completed (PH)"/>
                                </TextBlock>
                                <TextBlock Style="{StaticResource ParticipationPageTextStyle}">
                                <Run FontWeight="Bold" Text="{Binding QuestsCompletedOnCurrentDevice, Converter={StaticResource NullableObjectConverter}}"/>
                                <Run x:Uid="NumQuestsCompletedThisDeviceV2" Text="quests completed on this device (PH)"/>
                                </TextBlock>
                            </StackPanel>
                        </Grid>
                    </Border>
                    <Border Style="{StaticResource ParticipationPageBorderStyle}" Grid.Column="2" Grid.Row="2">
                        <Grid>
                            <StackPanel>
                                <TextBlock Style="{StaticResource ParticipationPageSectionHeaderStyle}">
                                    <Run 
                                    FontFamily="Segoe MDL2 Assets" 
                                    Foreground="{ThemeResource AccentTextBrush}"
                                    Text="&#xE770;"/>
                                    <Run 
                                    x:Uid="SystemActivityHeader" 
                                    x:Name="SystemActivityHeader" 
                                    Text="System Activity (PH)"/>
                                </TextBlock>
                                <TextBlock Style="{StaticResource ParticipationPageTextStyle}"
                                           Visibility="{Binding Converter={StaticResource InternalVisibilityConverter}, ConverterParameter=Invert}">
                                    <Run FontWeight="Bold" Text="{Binding DeviceUsageSinceLastInstallInMinutes, Converter={StaticResource NullableObjectConverter}}"/>
                                    <Run x:Uid="ParticipationStatsUsageSinceInstall" Text="hours of active use since last build install (PH)"/>
                                </TextBlock>
                                
                                <!-- Link to selfhost report -->
                                <common:HandHyperlinkButton
                                        Visibility="{Binding Converter={StaticResource InternalVisibilityConverter}}"
                                        Margin="0,-9,0,0"
                                        NavigateUri="{Binding UploadTelemetryPageViewModel.SelfhostReportLink}"
                                        Style="{StaticResource HyperlinkButtonStyle}"
                                        Command="{Binding UploadTelemetryPageViewModel.InternalLinkCommand}"
                                        CommandParameter="InternalSelfhostReportLink">
                                    <TextBlock FontWeight="Normal">
                                        <Run x:Uid="InternalSelfhostReportLink" x:Name="InternalSelfhostReportLink" Text="View selfhost report (PLACEHOLDER)" />
                                    </TextBlock>
                                </common:HandHyperlinkButton>
                            </StackPanel>
                        </Grid>
                    </Border>
                </Grid>
                </PivotItem>
                <PivotItem x:Uid="PivotAchievementsTab" x:Name="PivotAchievementsTab">
                <!-- Achievements Tab -->
                <Grid 
                x:Name="AchievementsGrid"  
                x:Uid="AchievementsGrid"  
                HorizontalAlignment="Center" 
                VerticalAlignment="Top"
                Margin="0,36,0,36">
                    <Border
                    Style="{StaticResource ParticipationPageBorderStyle}"
                    MinHeight="424"
                    Width="800"
                    VerticalAlignment="Top" 
                    HorizontalAlignment="Left" 
                    BorderBrush="{ThemeResource PilotsHubBorderBrush}" 
                    BorderThickness="2">
                        <Grid>
                            <StackPanel>
                                <!-- Achievements tab header -->
                                <TextBlock Style="{StaticResource ParticipationPageSectionHeaderStyle}" >
                                    <Run 
                                        FontFamily="Segoe MDL2 Assets" 
                                        Foreground="{ThemeResource AccentTextBrush}"
                                        Text="&#xE208;" />
                                    <Run 
                                        x:Uid="AchievementsTabHeader" 
                                        x:Name="AchievementsTabHeader" 
                                        Text="Your achievements (PH)"/>
                                </TextBlock>

                                <!-- Achievements grid -->
                                <GridView 
                                Margin="0,0,0,0"
                                ItemsSource="{Binding AchievementsPageViewModel.Achievements}"
                                ItemTemplate="{StaticResource AchievementItemWithNameTemplate}"
                                SelectionMode="None"
                                IsSwipeEnabled="False"
                                IsItemClickEnabled="True"
                                common:GridViewCommand.Command="{Binding AchievementsPageViewModel.AchievementClickCommand}"
                                IsTabStop="True"
                                >
                                    <GridView.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <VariableSizedWrapGrid Orientation="Horizontal"/>
                                        </ItemsPanelTemplate>
                                    </GridView.ItemsPanel>
                                    <GridView.Header>
                                        <StackPanel>
                                            <TextBlock                                    
                                            x:Uid="AchievementsTabNoResultsError"
                                            x:Name="AchievementsTabNoResultsError"
                                            Text="No Achievements (PH)" 
                                            FontSize="15"
                                            Style="{StaticResource HubPageTextBlockHeaderStyle}"
                                            TextWrapping="WrapWholeWords"
                                            Visibility="{Binding AchievementsPageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NoResults}"/>

                                            <TextBlock 
                                            x:Uid="AchievementsTabNetworkError"
                                            x:Name="AchievementsTabNetworkError"
                                            Text="An Error Occured downloading Achievements(PH)"   
                                            FontSize="15"
                                            Style="{StaticResource HubPageTextBlockHeaderStyle}"
                                            TextWrapping="WrapWholeWords"
                                            Visibility="{Binding AchievementsPageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=Error}"/>
                                        </StackPanel>
                                    </GridView.Header>
                                </GridView>
                            </StackPanel>
                        </Grid>
                    </Border>
                </Grid>
                </PivotItem>
                <PivotItem x:Uid="SystemActivitiesTab" x:Name="SystemActivitiesTab">
                <!-- System Activities tab -->
                <Grid 
                    x:Name="DevicesGrid"  
                    x:Uid="DevicesGrid"  
                    HorizontalAlignment="Center" 
                    VerticalAlignment="Top"
                    Margin="0,36,0,36">
                        <StackPanel>
                            <!-- Selfhost dashboard -->
                            <Border
                                Style="{StaticResource ParticipationPageBorderStyle}"
                                BorderBrush="{ThemeResource PilotsHubBorderBrush}"
                                BorderThickness="2"
                                MinHeight="200"
                                MinWidth="388"
                                Margin="0,0,0,20"
                                Visibility="{Binding SelfhostDashboardViewModel.IsInsiderHubBrokerPresent, Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}">
                                <StackPanel>
                                    <Grid>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="*"/>
                                        </Grid.RowDefinitions>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="62"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>

                                        <!-- Grid(0,0) Heading -->
                                        <TextBlock
                                            Grid.Row="0" Grid.Column="0"
                                            x:Uid="SelfhostDashboardHead"
                                            x:Name="SelfhostDashboardHead"
                                            Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                            Text="Preview Build Status" />

                                        <!-- Grid(1,0) Left side (Current flight state) -->
                                        <TextBlock Style="{StaticResource UserStatsPageTextBlock}" Margin="0,0,0,15" Grid.Row="1" Grid.Column="0">
                                            <Run x:Uid="CurrentFlightLabel"
                                                    x:Name="CurrentFlightLabel"
                                                    Text="What build I'm on:"/>
                                            <Run Text="{Binding SelfhostDashboardViewModel.CurrentBranchName}"/>
                                            <Run Text="{Binding SelfhostDashboardViewModel.CurrentBuildNumber}"/>
                                            <Run Text="{Binding SelfhostDashboardViewModel.CurrentEditionId}"/>
                                        </TextBlock>

                                        <!-- Grid(2,0) Latest flight label OR Current flight info -->
                                        <TextBlock Style="{StaticResource UserStatsPageTextBlock}" Grid.Row="2" Grid.Column="0"
                                                Margin="0,0,0,15"
                                                Visibility="{Binding SelfhostDashboardViewModel.IsNewFlightAvailable,
                                                            Converter={StaticResource BooleanToVisibilityConverter},
                                                            Mode=OneWay}"
                                                >
                                            <!-- Flight found: bind to its info -->
                                            <Run x:Uid="LatestFlightLabel"
                                                    x:Name="LatestFlightLabel"
                                                    Text="Latest preview build:"/>
                                            <Run Text="{Binding SelfhostDashboardViewModel.TargetFlightInfo.FlightTitle}" />
                                        </TextBlock>

                                        <!-- Grid(3,0) Flight not found/Up to date OR Get up-to-date button -->
                                        <StackPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="0">
                                            <TextBlock Style="{StaticResource UserStatsPageTextBlock}"
                                            FontWeight="Bold"
                                            x:Uid="DeviceUpToDateLabel"
                                            x:Name="DeviceUpToDateLabel"
                                            Text="Your device is up to date."
                                            Visibility="{Binding SelfhostDashboardViewModel.IsNewFlightAvailable,
                                                            Converter={StaticResource BooleanToVisibilityConverter},
                                                            ConverterParameter=Invert, Mode=OneWay}"
                                                />
                                            <Button HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
                                            x:Uid="GetUpToDateButton"
                                            x:Name="GetUpToDateButton"
                                            Content="Get up to date (PH)"
                                            Command="{Binding SelfhostDashboardViewModel.LaunchWUPageCommand}"
                                            Visibility="{Binding SelfhostDashboardViewModel.IsNewFlightAvailable,
                                                    Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}"
                                    />
                                        </StackPanel>

                                        <!-- Grid(4,0) Change settings button -->
                                        <common:HandHyperlinkButton Margin="0,0,0,20" Grid.Row="4" Grid.Column="0"
                                        Command="{Binding SelfhostDashboardViewModel.LaunchAdvancedWUPageCommand}">
                                            <TextBlock>
                                            <Run x:Uid="ChangeSettingsLink" x:Name="ChangeSettingsLink" Text="Change preview build settings" />
                                            </TextBlock>
                                        </common:HandHyperlinkButton>

                                        <!-- Grid(1-4,1) Border -->
                                        <Border Margin="30,0,30,20" BorderBrush="Gainsboro" BorderThickness="2,0,0,0" Grid.Row="1" Grid.RowSpan="4" Grid.Column="1"
                                        Visibility="{Binding ResourcesHubViewModel.IsBuildNewsAvailable, Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}"/>

                                        <!-- Grid(1,2) Build news title -->
                                        <TextBlock Style="{StaticResource UserStatsPageTextBlock}" Margin="0,0,0,15" Grid.Row="1" Grid.Column="2"
                                       Visibility="{Binding ResourcesHubViewModel.IsBuildNewsAvailable, Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}">
                                    <Run Text="{Binding ResourcesHubViewModel.BuildNewsItem.Title}"/>
                                        </TextBlock>

                                        <!-- Grid(2-4,2) Build news description -->
                                        <WebView Grid.Row="2" Grid.RowSpan="3" Grid.Column="2" Margin="0,0,0,20" DefaultBackgroundColor="Transparent"
                                        Visibility="{Binding ResourcesHubViewModel.IsBuildNewsAvailable, Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}"
                                        dependencyProperties:WebViewStringDependency.HtmlString="{Binding ResourcesHubViewModel.BuildNewsItem.Description}"
                                        IsHitTestVisible="false" VerticalAlignment="Stretch" ScrollViewer.BringIntoViewOnFocusChange="False"/>
                                    </Grid>
                                </StackPanel>
                            </Border>

                            <!-- Devices dashboard -->
                            <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollMode="Disabled" VerticalScrollBarVisibility="Disabled">
                                <Border Style="{StaticResource ParticipationPageBorderStyle}"
                                Visibility="{Binding Converter={StaticResource DebugSettingToVisibilityConverter}}" 
                                MinHeight="200"
                                MinWidth="388"
                                VerticalAlignment="Top" 
                                HorizontalAlignment="Left" 
                                BorderBrush="{ThemeResource PilotsHubBorderBrush}" 
                                BorderThickness="2">
                                    <Grid>
                                        <StackPanel>
                                            <TextBlock x:Uid="DevicesTabHeader" x:Name="DevicesTabHeader" Style="{StaticResource ParticipationPageSectionHeaderStyle}" Text="Your devices (PH)"/>
                                            <Border Style="{StaticResource ParticipationPageBorderStyle}"
                                              VerticalAlignment="Top"
                                              HorizontalAlignment="Left"
                                              BorderBrush="{ThemeResource PilotsHubBorderBrush}"
                                              BorderThickness="2">
                                                <!-- Dimensions must match the grid definition for DeviceItemTemplate in OverrideStyles.xaml -->
                                                <Grid Margin="5,5,5,5">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="150" />
                                                        <ColumnDefinition Width="150" />
                                                        <ColumnDefinition Width="70" />
                                                        <ColumnDefinition Width="70" />
                                                        <ColumnDefinition Width="100" />
                                                        <ColumnDefinition Width="100" />
                                                        <ColumnDefinition Width="85" />
                                                        <ColumnDefinition Width="150" />
                                                    </Grid.ColumnDefinitions>
                                                    <TextBlock
                                      Grid.Column="0"
                                      x:Uid="DeviceNameHeader"
                                      x:Name="DeviceNameHeader"
                                      Text="Name (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="1"
                                      x:Uid="DeviceBuildHeader"
                                      x:Name="DeviceBuildHeader"
                                      Text="Build (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="2"
                                      x:Uid="DeviceBuildAgeHeader"
                                      x:Name="DeviceBuildAgeHeader"
                                      Text="Build age (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="3"
                                      x:Uid="DeviceHoursOfUseHeader"
                                      x:Name="DeviceHoursOfUseHeader"
                                      Text="Hours of use (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="4"
                                      x:Uid="DeviceMakeModelHeader"
                                      x:Name="DeviceMakeModelHeader"
                                      Text="Make/Model (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="5"
                                      x:Uid="DeviceLanguageHeader"
                                      x:Name="DeviceLanguageHeader"
                                      Text="Language (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="6"
                                      x:Uid="DeviceArchHeader"
                                      x:Name="DeviceArchHeader"
                                      Text="Architecture (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>

                                                    <TextBlock
                                      Grid.Column="7"
                                      x:Uid="DeviceLastUpdateHeader"
                                      x:Name="DeviceLastUpdateHeader"
                                      Text="Last time data update (PH)"
                                      FontSize="15"
                                      Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                      TextWrapping="WrapWholeWords"
                                      Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NotLoading}"/>
                                                </Grid>
                                            </Border>
                                            <GridView 
                                    Margin="0,0,0,0"
                                    ItemsSource="{Binding DeviceUsagePageViewModel.Devices}"
                              SelectionMode="None"
                                    IsSwipeEnabled="false"
                                    IsItemClickEnabled="False"
                              IsTabStop="True"
                              ItemTemplate="{StaticResource DeviceItemTemplate}">
                                                <GridView.ItemsPanel>
                                                    <ItemsPanelTemplate>
                                                        <VariableSizedWrapGrid Orientation="Vertical" Width="Auto"/>
                                                    </ItemsPanelTemplate>
                                                </GridView.ItemsPanel>
                                                <GridView.Header>
                                                    <StackPanel>
                                                        <TextBlock                                    
                                                x:Uid="DevicesTabNoResultsError"
                                                x:Name="DevicesTabNoResultsError"
                                                Text="No Devices (PH)" 
                                                FontSize="15"
                                                Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                                TextWrapping="WrapWholeWords"
                                                Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=NoResults}"/>

                                                        <TextBlock 
                                                x:Uid="DevicesTabNetworkError"
                                                x:Name="DevicesTabNetworkError"
                                                Text="An Error Occured downloading Devices(PH)"   
                                                FontSize="15"
                                                Style="{StaticResource ParticipationPageSectionHeaderStyle}"
                                                TextWrapping="WrapWholeWords"
                                                Visibility="{Binding DeviceUsagePageViewModel.State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=Error}"/>
                                                    </StackPanel>

                                                </GridView.Header>
                                            </GridView>
                                        </StackPanel>
                                    </Grid>
                                </Border>
                            </ScrollViewer>
                        </StackPanel>
                </Grid>
                </PivotItem>
                <PivotItem x:Uid="PivotSelfhostDashboardTab" x:Name="PivotSelfhostDashboardTab">
                    <!-- Selfhost Dashboard Tab -->
                    <Grid 
                    x:Name="SelfhostDashboardGrid"  
                    x:Uid="SelfhostDashboardGrid"  
                    HorizontalAlignment="Center" 
                    VerticalAlignment="Top"
                    Margin="0,36,0,36">
                        <Border 
                        MinWidth="800"
                        DataContext="{Binding UploadTelemetryPageViewModel}" 
                        Style="{StaticResource ParticipationPageBorderStyle}"
                        VerticalAlignment="Top" 
                        HorizontalAlignment="Left" 
                        BorderBrush="{ThemeResource PilotsHubBorderBrush}" 
                        BorderThickness="2">
                            <Border>
                                <StackPanel>

                                    <!-- Progress ring -->
                                    <ProgressRing 
                                    Margin="0,20,0,0"
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Center"
                                    Style="{StaticResource MediumProgressRingStyle}"
                                    IsActive="{Binding State, Converter={StaticResource loadingStateToBooleanConverter}, ConverterParameter=Loading}"
                                    Visibility="{Binding State, Converter={StaticResource loadingStateToVisibilityConverter}, ConverterParameter=Loading}"/>

                                    <Grid Margin="0,0,0,0">
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto" />
                                            <RowDefinition Height="*" />
                                        </Grid.RowDefinitions>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="*" />
                                        </Grid.ColumnDefinitions>

                                        <StackPanel Grid.Row="0" Grid.Column="0">
                                            <!-- Telemetry Info header -->
                                            <StackPanel Orientation="Horizontal" Margin="0,0,0,20">
                                                <Rectangle Fill="{Binding LastUploadSucceeded, Converter={StaticResource ErrorStateToColorConverter}}"
                                                Width="17" Height="17"
                                                VerticalAlignment="Center"/>

                                                <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}"
                                                FontSize="24"
                                                x:Uid="TelemetryUploadsHead" 
                                                x:Name="TelemetryUploadsHead" 
                                                Text="Telemetry Info (UTC) (PH)"
                                                Margin="5,0,0,0"
                                                />
                                            </StackPanel>

                                            <Grid>
                                                <Grid.RowDefinitions>
                                                    <RowDefinition Height="Auto" />
                                                    <RowDefinition Height="*" />
                                                </Grid.RowDefinitions>
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="Auto" />
                                                    <ColumnDefinition Width="*" />
                                                </Grid.ColumnDefinitions>
                                                <!-- Telemetry error hints -->
                                                <StackPanel Grid.Row="0" Margin="0,0,0,20"
                                                MaxWidth="400"
                                                Visibility="{Binding LastUploadSucceeded,
                                                                Converter={StaticResource BooleanToVisbilityConverter},
                                                                ConverterParameter=Invert,
                                                                Mode=OneWay}"
                                                >
                                                    <Border BorderBrush="{ThemeResource TelemetryErrorBrush}" BorderThickness="1">
                                                        <TextBlock Margin="5,5,5,5" Style="{StaticResource UploadTelemetryPageTextBlock}" Text="{Binding UTCUploadErrorHint}" />
                                                    </Border>
                                                </StackPanel>
                                                <!-- Telemetry upload times -->
                                                <Grid Grid.Row="1">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="Auto" />
                                                        <ColumnDefinition Width="15" />
                                                        <ColumnDefinition Width="*" />
                                                    </Grid.ColumnDefinitions>
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition Height="Auto" />
                                                        <RowDefinition Height="Auto" />
                                                    </Grid.RowDefinitions>

                                                    <!-- Last realtime upload time -->
                                                    <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="0">
                                                    <Run x:Uid="UploadTelemetryLastRealtimeUpload" x:Name="UploadTelemetryLastRealtimeUpload" Text="Last realtime upload: (PH)"/>
                                                    </TextBlock>
                                                    <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" Grid.Column="2" Grid.Row="0"
                                                    Text="{Binding LastRealtimeUpload, Converter={StaticResource NullableObjectConverter}, Mode=OneWay}" TextWrapping="NoWrap">
                                                    </TextBox>

                                                    <!-- Last normal upload time -->
                                                    <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="1">
                                                    <Run x:Uid="UploadTelemetryLastNormalUpload" x:Name="UploadTelemetryLastNormalUpload" Text="Last normal upload: (PH)"/>
                                                    </TextBlock>
                                                    <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" Grid.Column="2" Grid.Row="1"
                                                    Text="{Binding LastNormalUpload, Converter={StaticResource NullableObjectConverter}, Mode=OneWay}" TextWrapping="NoWrap">
                                                    </TextBox>
                                                </Grid>
                                            </Grid>

                                            <!-- Last telemetry upload error -->
                                            <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}"
                                        Visibility="{Binding LastUploadSucceeded, Converter={StaticResource BooleanToVisbilityConverter}, ConverterParameter=Invert, Mode=OneWay}">
                                            <Run 
                                                x:Uid="UploadTelemetryLastUploadError" 
                                                x:Name="UploadTelemetryLastUploadError" 
                                                Text="Last upload error: (PH)"/>
                                            </TextBlock>
                                            <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}"
                                            Visibility="{Binding LastUploadSucceeded, Converter={StaticResource BooleanToVisbilityConverter}, ConverterParameter=Invert, Mode=OneWay}">                                
                                            <Run Text="{Binding LastUploadError, Converter={StaticResource NullableObjectConverter}}"/>
                                            </TextBlock>
                                        </StackPanel>

                                        <StackPanel Grid.Row="1" Grid.Column="0" Margin="0,20,0,0"
                                        Visibility="{Binding UTCRingBufferStatsPresent, Converter={StaticResource BooleanToVisibilityConverter}}">

                                            <!-- UTC buffers header -->
                                            <TextBlock x:Uid="UtcBufferHeader" x:Name="UtcBufferHeader"
                                            Style="{StaticResource UploadTelemetryPageTextBlock}"
                                            FontSize="24"
                                            Margin="0,0,0,20"
                                            Text="UTC Buffer Info (UTC) (PH)"/>

                                            <!-- List of UTC buffer visualisations -->
                                            <ItemsControl ItemTemplate="{StaticResource UTCRingBufferTemplate}" 
                                                ItemsSource="{Binding UTCRingBuffers}" >
                                                <ItemsControl.ItemsPanel>
                                                    <ItemsPanelTemplate>
                                                        <VirtualizingStackPanel Orientation="Vertical" HorizontalAlignment="Left"/>
                                                    </ItemsPanelTemplate>
                                                </ItemsControl.ItemsPanel>
                                            </ItemsControl>

                                            <Button VerticalAlignment="Bottom"
                                            Margin="0,20,0,0"
                                            x:Uid="UTCForceUploadButton"
                                            x:Name="UTCForceUploadButton"
                                            Content="Flush UTC events"
                                            Command="{Binding UtcForceUploadCommand}"
                                            Visibility="{Binding UTCForceUploadPresent,
                                            Converter={StaticResource BooleanToVisibilityConverter},
                                            Mode=OneWay}" />
                                        </StackPanel>

                                        <StackPanel Grid.Row="0" Grid.Column="1" Margin="60,0,0,0">
                                            <!-- Census Task header -->
                                            <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}"
                                            FontSize="24"
                                            x:Uid="CensusTaskHead" x:Name="CensusTaskHead"
                                            Text="Census Task (PH)"
                                            Margin="0,0,0,20" />

                                            <Grid Margin="0,0,0,0">
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="Auto" />
                                                    <ColumnDefinition Width="15" />
                                                    <ColumnDefinition Width="*" />
                                                </Grid.ColumnDefinitions>
                                                <Grid.RowDefinitions>
                                                    <RowDefinition Height="Auto" />
                                                    <RowDefinition Height="Auto" />
                                                    <RowDefinition Height="Auto" />
                                                </Grid.RowDefinitions>

                                                <!-- Census task start time -->
                                                <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="0">
                                                <Run x:Uid="CensusTaskStartTime" x:Name="CensusTaskStartTime" Text="Start time: (PH)" />
                                                </TextBlock>
                                                <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" Grid.Column="2" Grid.Row="0"
                                                Text="{Binding CensusTaskStartTime, Converter={StaticResource NullableObjectConverter}, Mode=OneWay}" TextWrapping="NoWrap">
                                                </TextBox>

                                                <!-- Census task end time -->
                                                <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="1">
                                                <Run x:Uid="CensusTaskEndTime" x:Name="CensusTaskEndTime" Text="End time: (PH)" />
                                                </TextBlock>
                                                <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" Grid.Column="2" Grid.Row="1"
                                                Text="{Binding CensusTaskEndTime, Converter={StaticResource NullableObjectConverter}, Mode=OneWay}" TextWrapping="NoWrap">
                                                </TextBox>

                                                <!-- Census task return code -->
                                                <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="3">
                                                <Run x:Uid="CensusTaskReturnCode" x:Name="CensusTaskReturnCode" Text="Return code: (PH)" />
                                                </TextBlock>
                                                <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" Grid.Column="2" Grid.Row="3"
                                                Text="{Binding CensusTaskReturnCode, Converter={StaticResource NullableObjectConverter}, Mode=OneWay}" TextWrapping="NoWrap">
                                                </TextBox>
                                            </Grid>
                                        </StackPanel>

                                        <StackPanel Grid.Row="1" Grid.Column="1" Margin="60,20,0,0">
                                            <!-- Device Info header -->
                                            <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}"
                                            FontSize="24"
                                            x:Uid="DeviceInfoHead" x:Name="DeviceInfoHead"
                                            Text="Device Info (PH)"
                                            Margin="0,0,0,20" />

                                            <Grid Margin="0,0,0,0">
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="Auto" />
                                                    <ColumnDefinition Width="*" />
                                                </Grid.ColumnDefinitions>
                                                <Grid.RowDefinitions>
                                                    <RowDefinition Height="Auto" />
                                                    <RowDefinition Height="Auto" />
                                                    <RowDefinition Height="*" />
                                                </Grid.RowDefinitions>

                                                <!-- Device Id -->
                                                <StackPanel Grid.Row="0" Grid.Column="0">
                                                    <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}">
                                                    <Run x:Uid="UploadTelemetryDeviceIdV2"  x:Name="UploadTelemetryDeviceId" Text="Device Id: (PH)"/>
                                                    </TextBlock>
                                                </StackPanel>
                                                <StackPanel Grid.Row="0" Grid.Column="1" Margin="30,0,0,0">
                                                    <TextBox Style="{StaticResource UploadTelemetryPageTextBox}"
                                                    Text="{Binding DeviceId, Converter={StaticResource NullableObjectConverter}, Mode=OneWay}"
                                                    TextWrapping="NoWrap"
                                                    HorizontalAlignment="Left"/>

                                                    <!-- Link to Pool Management web site -->
                                                    <HyperlinkButton
                                                        Command="{Binding InternalLinkCommand}"
                                                        CommandParameter="InternalPMLink"
                                                        Margin="0,12,0,0"
                                                        Style="{StaticResource ParticipationPageSectionFooterStyle}"
                                                        NavigateUri="{Binding PoolManagementLink}">
                                                        <TextBlock>
                                                            <Run x:Uid="InternalPMLink" x:Name="InternalPMLink" Text="View census and flight information (PLACEHOLDER)" />
                                                        </TextBlock>
                                                    </HyperlinkButton>

                                                    <!-- Link to devicedrill web site -->
                                                    <HyperlinkButton
                                                        Command="{Binding InternalLinkCommand}"
                                                        CommandParameter="DeviceDrillLink"
                                                        Margin="0,12"
                                                        Style="{StaticResource ParticipationPageSectionFooterStyle}"
                                                        NavigateUri="{Binding DeviceDrillLink}">
                                                        <TextBlock>
                                                            <Run x:Uid="DeviceDrillLink" x:Name="DeviceDrillLink" Text="Device drill (PLACEHOLDER)" />
                                                        </TextBlock>
                                                    </HyperlinkButton>
                                                </StackPanel>

                                                <!-- Census task MSA Id -->
                                                <StackPanel Grid.Row="1" Grid.Column="0">
                                                    <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="1">
                                                    <Run x:Uid="CensusTaskMSACIDs" x:Name="CensusTaskMSACIDs" Text="MSA CIDs: (PH)" />
                                                    </TextBlock>
                                                </StackPanel>
                                                <StackPanel Grid.Row="1" Grid.Column="1" Margin="30,0,0,0">
                                                    <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" 
                                                    Text="{Binding CensusTaskMSACIDs,
                                                    Converter={StaticResource NullableObjectConverter}, Mode=OneWay}"
                                                    HorizontalAlignment="Left"
                                                    TextWrapping="NoWrap">
                                                    </TextBox>
                                                </StackPanel>

                                                <!-- Build String -->
                                                <StackPanel Grid.Row="2" Grid.Column="0">
                                                    <TextBlock Style="{StaticResource UploadTelemetryPageTextBlock}" Grid.Column="0" Grid.Row="1">
                                                    <Run x:Uid="BuildLabString" x:Name="BuildLabString" Text="Build string: (PH)" />
                                                    </TextBlock>
                                                </StackPanel>
                                                <StackPanel Grid.Row="2" Grid.Column="1" Margin="30,0,0,0">
                                                    <TextBox Style="{StaticResource UploadTelemetryPageTextBox}" 
                                                    Text="{Binding BuildLabString, Mode=OneWay}"
                                                    HorizontalAlignment="Left"
                                                    TextWrapping="NoWrap">
                                                    </TextBox>
                                                </StackPanel>
                                            </Grid>
                                        </StackPanel>
                                    </Grid>
                                </StackPanel>
                            </Border>
                        </Border>
                    </Grid>
                </PivotItem>
            </Pivot>
        </Grid>
    </ScrollViewer>
</local:LayoutAwarePage>

