<abstract:AppShellAbstract
    x:Class="Wino.Views.AppShell"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:abstract="using:Wino.Views.Abstract"
    xmlns:advanced="using:Wino.Controls.Advanced"
    xmlns:animatedvisuals="using:Microsoft.UI.Xaml.Controls.AnimatedVisuals"
    xmlns:animations="using:CommunityToolkit.WinUI.Animations"
    xmlns:controls="using:Wino.Controls"
    xmlns:controls1="using:CommunityToolkit.WinUI.Controls"
    xmlns:coreControls="using:Wino.Core.UWP.Controls"
    xmlns:coreSelectors="using:Wino.Core.UWP.Selectors"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:domain="using:Wino.Core.Domain"
    xmlns:enums="using:Wino.Core.Domain.Enums"
    xmlns:helpers="using:Wino.Helpers"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:menu="using:Wino.Core.Domain.MenuItems"
    xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
    x:Name="Root"
    muxc:BackdropMaterial.ApplyToRootOrPageBackground="{ThemeResource UseMica}"
    mc:Ignorable="d">

    <Page.Resources>

        <!--  Clickable New Style Account Template  -->
        <DataTemplate x:Key="ClickableAccountMenuTemplate" x:DataType="menu:AccountMenuItem">
            <controls:AccountNavigationItem
                x:Name="AccountItem"
                HorizontalContentAlignment="Stretch"
                VerticalContentAlignment="Stretch"
                BindingData="{x:Bind}"
                DataContext="{x:Bind}"
                IsActiveAccount="{x:Bind IsSelected, Mode=OneWay}"
                IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
                SelectsOnInvoked="False"
                Style="{StaticResource SingleAccountNavigationViewItemTemplate}">
                <coreControls:WinoNavigationViewItem.ContentTransitions>
                    <TransitionCollection>
                        <EdgeUIThemeTransition Edge="Top" />
                    </TransitionCollection>
                </coreControls:WinoNavigationViewItem.ContentTransitions>
                <muxc:NavigationViewItem.Icon>
                    <coreControls:WinoFontIcon FontSize="12" Icon="{x:Bind helpers:XamlHelpers.GetProviderIcon(Parameter.ProviderType)}" />
                </muxc:NavigationViewItem.Icon>
                <muxc:NavigationViewItem.InfoBadge>
                    <muxc:InfoBadge
                        Background="{ThemeResource SystemAccentColor}"
                        Foreground="White"
                        Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
                        Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
                </muxc:NavigationViewItem.InfoBadge>

                <Grid
                    MaxHeight="70"
                    Margin="0,8"
                    RowSpacing="6">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="Auto" />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="2" />
                    </Grid.RowDefinitions>
                    <StackPanel VerticalAlignment="Center">
                        <TextBlock
                            x:Name="AccountNameTextblock"
                            FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
                            MaxLines="1"
                            Style="{StaticResource BodyTextBlockStyle}"
                            Text="{x:Bind AccountName, Mode=OneWay}"
                            TextTrimming="CharacterEllipsis" />

                        <TextBlock
                            FontSize="13"
                            FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
                            MaxLines="1"
                            Style="{StaticResource CaptionTextBlockStyle}"
                            Text="{x:Bind Parameter.Address, Mode=OneWay}"
                            TextTrimming="CharacterEllipsis" />
                    </StackPanel>

                    <PathIcon
                        x:Name="AttentionIcon"
                        Grid.Row="0"
                        Grid.RowSpan="2"
                        Grid.Column="2"
                        HorizontalAlignment="Center"
                        VerticalAlignment="Center"
                        x:Load="{x:Bind IsAttentionRequired, Mode=OneWay}"
                        Data="F1 M 2.021484 18.769531 C 1.767578 18.769531 1.52832 18.720703 1.303711 18.623047 C 1.079102 18.525391 0.880534 18.391928 0.708008 18.222656 C 0.535482 18.053385 0.398763 17.856445 0.297852 17.631836 C 0.19694 17.407227 0.146484 17.167969 0.146484 16.914062 C 0.146484 16.614584 0.211589 16.328125 0.341797 16.054688 L 7.695312 1.347656 C 7.851562 1.035156 8.082682 0.784506 8.388672 0.595703 C 8.694661 0.406902 9.023438 0.3125 9.375 0.3125 C 9.726562 0.3125 10.055338 0.406902 10.361328 0.595703 C 10.667317 0.784506 10.898438 1.035156 11.054688 1.347656 L 18.408203 16.054688 C 18.53841 16.328125 18.603516 16.614584 18.603516 16.914062 C 18.603516 17.167969 18.553059 17.407227 18.452148 17.631836 C 18.351236 17.856445 18.216145 18.053385 18.046875 18.222656 C 17.877604 18.391928 17.679035 18.525391 17.451172 18.623047 C 17.223307 18.720703 16.982422 18.769531 16.728516 18.769531 Z M 16.728516 17.519531 C 16.884766 17.519531 17.027994 17.460938 17.158203 17.34375 C 17.28841 17.226562 17.353516 17.086588 17.353516 16.923828 C 17.353516 16.806641 17.330729 16.702475 17.285156 16.611328 L 9.931641 1.904297 C 9.879557 1.793621 9.80306 1.708984 9.702148 1.650391 C 9.601236 1.591797 9.492188 1.5625 9.375 1.5625 C 9.257812 1.5625 9.148763 1.593426 9.047852 1.655273 C 8.946939 1.717123 8.870442 1.800131 8.818359 1.904297 L 1.464844 16.611328 C 1.419271 16.702475 1.396484 16.803387 1.396484 16.914062 C 1.396484 17.083334 1.459961 17.226562 1.586914 17.34375 C 1.713867 17.460938 1.858724 17.519531 2.021484 17.519531 Z M 8.75 11.875 L 8.75 6.875 C 8.75 6.705729 8.811849 6.559245 8.935547 6.435547 C 9.059244 6.31185 9.205729 6.25 9.375 6.25 C 9.544271 6.25 9.690755 6.31185 9.814453 6.435547 C 9.93815 6.559245 10 6.705729 10 6.875 L 10 11.875 C 10 12.044271 9.93815 12.190756 9.814453 12.314453 C 9.690755 12.438151 9.544271 12.5 9.375 12.5 C 9.205729 12.5 9.059244 12.438151 8.935547 12.314453 C 8.811849 12.190756 8.75 12.044271 8.75 11.875 Z M 8.4375 14.375 C 8.4375 14.114584 8.528646 13.893229 8.710938 13.710938 C 8.893229 13.528646 9.114583 13.4375 9.375 13.4375 C 9.635416 13.4375 9.856771 13.528646 10.039062 13.710938 C 10.221354 13.893229 10.3125 14.114584 10.3125 14.375 C 10.3125 14.635417 10.221354 14.856771 10.039062 15.039062 C 9.856771 15.221354 9.635416 15.3125 9.375 15.3125 C 9.114583 15.3125 8.893229 15.221354 8.710938 15.039062 C 8.528646 14.856771 8.4375 14.635417 8.4375 14.375 Z "
                        Foreground="{ThemeResource InfoBarWarningSeverityIconBackground}" />

                    <muxc:ProgressRing
                        x:Name="SynchronizationProgressBar"
                        Grid.ColumnSpan="3"
                        Width="10"
                        Height="10"
                        Margin="0,8,0,0"
                        HorizontalAlignment="Right"
                        VerticalAlignment="Center"
                        Background="{ThemeResource AppBarItemBackgroundThemeBrush}"
                        Foreground="{ThemeResource AppBarItemForegroundThemeBrush}"
                        IsActive="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}"
                        IsIndeterminate="{x:Bind IsProgressIndeterminate}"
                        Maximum="100"
                        Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}"
                        Value="{x:Bind SynchronizationProgress, Mode=OneWay}" />
                </Grid>
            </controls:AccountNavigationItem>
        </DataTemplate>

        <!--  Fix account issues.  -->
        <!--  Authentication  -->
        <DataTemplate x:Key="FixAuthenticationIssueTemplate" x:DataType="menu:FixAccountIssuesMenuItem">
            <coreControls:WinoNavigationViewItem SelectsOnInvoked="False">
                <coreControls:WinoNavigationViewItem.Content>
                    <TextBlock
                        Margin="0,10"
                        Foreground="{ThemeResource InfoBarWarningSeverityIconBackground}"
                        HorizontalTextAlignment="Center"
                        TextWrapping="WrapWholeWords">
                        <Run Text="Account credentials can not be verified." /><LineBreak /><Run Text="Click here to fix it." />
                    </TextBlock>
                </coreControls:WinoNavigationViewItem.Content>
            </coreControls:WinoNavigationViewItem>
        </DataTemplate>

        <!--  Missing system folder config.  -->
        <DataTemplate x:Key="FixMissingFolderConfig" x:DataType="menu:FixAccountIssuesMenuItem">
            <coreControls:WinoNavigationViewItem SelectsOnInvoked="False">
                <coreControls:WinoNavigationViewItem.Content>
                    <TextBlock
                        Margin="0,10"
                        Foreground="{ThemeResource InfoBarWarningSeverityIconBackground}"
                        HorizontalTextAlignment="Center"
                        TextWrapping="WrapWholeWords">
                        <Run Text="Account is missing system folder configuration." /><LineBreak /><LineBreak /><Run Text="Click here to fix it." />
                    </TextBlock>
                </coreControls:WinoNavigationViewItem.Content>
            </coreControls:WinoNavigationViewItem>
        </DataTemplate>

        <!--  New Mail  -->
        <DataTemplate x:Key="CreateNewMailTemplate" x:DataType="menu:NewMailMenuItem">
            <coreControls:WinoNavigationViewItem
                Height="50"
                DataContext="{x:Bind}"
                SelectsOnInvoked="False">
                <muxc:NavigationViewItem.Icon>
                    <coreControls:WinoFontIcon Icon="NewMail" />
                </muxc:NavigationViewItem.Icon>
                <TextBlock
                    VerticalAlignment="Center"
                    FontSize="16"
                    Style="{StaticResource FlyoutPickerTitleTextBlockStyle}"
                    Text="{x:Bind domain:Translator.MenuNewMail}" />
            </coreControls:WinoNavigationViewItem>
        </DataTemplate>

        <!--  Inbox or any other folders.  -->
        <DataTemplate x:Key="FolderMenuTemplate" x:DataType="menu:FolderMenuItem">
            <coreControls:WinoNavigationViewItem
                MinHeight="30"
                AllowDrop="True"
                ContextRequested="MenuItemContextRequested"
                DataContext="{x:Bind}"
                DragEnter="ItemDragEnterOnFolder"
                DragLeave="ItemDragLeaveFromFolder"
                Drop="ItemDroppedOnFolder"
                FontSize="50"
                FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
                IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
                IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
                MenuItemsSource="{x:Bind SubMenuItems, Mode=OneWay}"
                SelectsOnInvoked="{x:Bind IsMoveTarget, Mode=OneWay}"
                ToolTipService.ToolTip="{x:Bind FolderName, Mode=OneWay}">
                <animations:Implicit.Animations>
                    <animations:ScaleAnimation Duration="0:0:0.5" />
                </animations:Implicit.Animations>
                <coreControls:WinoNavigationViewItem.Icon>
                    <coreControls:WinoFontIcon FontSize="64" Icon="{x:Bind helpers:XamlHelpers.GetSpecialFolderPathIconGeometry(Parameter.SpecialFolderType)}" />
                </coreControls:WinoNavigationViewItem.Icon>
                <muxc:NavigationViewItem.InfoBadge>
                    <muxc:InfoBadge
                        x:Name="FolderInfoBadge"
                        Background="{StaticResource SystemAccentColor}"
                        Foreground="White"
                        Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
                        Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
                </muxc:NavigationViewItem.InfoBadge>
                <muxc:NavigationViewItem.Content>
                    <Grid
                        x:Name="FolderBackgroundGrid"
                        Padding="2"
                        VerticalAlignment="Center">
                        <Grid
                            x:Name="BackgroundColorGrid"
                            x:Load="{x:Bind HasTextColor, Mode=OneWay}"
                            Background="{x:Bind helpers:XamlHelpers.GetSolidColorBrushFromHex(Parameter.BackgroundColorHex), Mode=OneWay}"
                            CornerRadius="3">
                            <TextBlock
                                x:Name="CustomColorTitle"
                                Margin="4,0,0,0"
                                VerticalAlignment="Center"
                                FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightBySyncState(IsSelected), Mode=OneWay}"
                                Foreground="{x:Bind helpers:XamlHelpers.GetSolidColorBrushFromHex(Parameter.TextColorHex), Mode=OneWay}"
                                Style="{StaticResource BodyTextBlockStyle}"
                                Text="{x:Bind FolderName, Mode=OneWay}"
                                TextWrapping="WrapWholeWords" />
                        </Grid>

                        <TextBlock
                            x:Name="NormalTitle"
                            VerticalAlignment="Center"
                            x:Load="{x:Bind HasTextColor, Converter={StaticResource ReverseBooleanConverter}}"
                            FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightBySyncState(IsSelected), Mode=OneWay}"
                            Style="{StaticResource BodyTextBlockStyle}"
                            Text="{x:Bind FolderName, Mode=OneWay}"
                            TextWrapping="WrapWholeWords" />
                    </Grid>
                </muxc:NavigationViewItem.Content>
            </coreControls:WinoNavigationViewItem>
        </DataTemplate>

        <!--  Merged Inbox  -->
        <DataTemplate x:Key="MergedAccountTemplate" x:DataType="menu:MergedAccountMenuItem">
            <controls:AccountNavigationItem
                x:Name="AccountItem"
                HorizontalContentAlignment="Stretch"
                VerticalContentAlignment="Stretch"
                BindingData="{x:Bind}"
                DataContext="{x:Bind}"
                IsActiveAccount="{x:Bind IsSelected, Mode=TwoWay}"
                IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
                MenuItemsSource="{x:Bind SubMenuItems}"
                SelectsOnInvoked="False"
                Style="{StaticResource SingleAccountNavigationViewItemTemplate}">
                <muxc:NavigationViewItem.InfoBadge>
                    <muxc:InfoBadge
                        x:Name="FolderInfoBadge"
                        Background="{StaticResource SystemAccentColor}"
                        Foreground="White"
                        Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
                        Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
                </muxc:NavigationViewItem.InfoBadge>
                <coreControls:WinoNavigationViewItem.ContentTransitions>
                    <TransitionCollection>
                        <EdgeUIThemeTransition Edge="Top" />
                    </TransitionCollection>
                </coreControls:WinoNavigationViewItem.ContentTransitions>
                <coreControls:WinoNavigationViewItem.Icon>
                    <PathIcon Data="F1 M 8.613281 17.5 C 8.75 17.942709 8.945312 18.359375 9.199219 18.75 L 4.921875 18.75 C 4.433594 18.75 3.966471 18.650717 3.520508 18.452148 C 3.074544 18.25358 2.683919 17.986654 2.348633 17.651367 C 2.013346 17.31608 1.746419 16.925455 1.547852 16.479492 C 1.349284 16.033529 1.25 15.566406 1.25 15.078125 L 1.25 4.921875 C 1.25 4.433594 1.349284 3.966473 1.547852 3.520508 C 1.746419 3.074545 2.013346 2.68392 2.348633 2.348633 C 2.683919 2.013348 3.074544 1.74642 3.520508 1.547852 C 3.966471 1.349285 4.433594 1.25 4.921875 1.25 L 15.078125 1.25 C 15.566406 1.25 16.033527 1.349285 16.479492 1.547852 C 16.925455 1.74642 17.31608 2.013348 17.651367 2.348633 C 17.986652 2.68392 18.25358 3.074545 18.452148 3.520508 C 18.650715 3.966473 18.75 4.433594 18.75 4.921875 L 18.75 6.572266 C 18.580729 6.344402 18.390299 6.132813 18.178711 5.9375 C 17.967121 5.742188 17.740885 5.566407 17.5 5.410156 L 17.5 4.951172 C 17.5 4.625651 17.433268 4.314779 17.299805 4.018555 C 17.16634 3.722332 16.987305 3.461914 16.762695 3.237305 C 16.538086 3.012695 16.277668 2.83366 15.981445 2.700195 C 15.685221 2.566732 15.374349 2.5 15.048828 2.5 L 4.951172 2.5 C 4.619141 2.5 4.303385 2.568359 4.003906 2.705078 C 3.704427 2.841797 3.44401 3.02409 3.222656 3.251953 C 3.001302 3.479818 2.825521 3.745117 2.695312 4.047852 C 2.565104 4.350587 2.5 4.66797 2.5 5 L 13.310547 5 C 12.60091 5.266928 11.998697 5.683594 11.503906 6.25 L 2.5 6.25 L 2.5 15.048828 C 2.5 15.38737 2.568359 15.704753 2.705078 16.000977 C 2.841797 16.297201 3.024088 16.55599 3.251953 16.777344 C 3.479818 16.998697 3.745117 17.174479 4.047852 17.304688 C 4.350586 17.434896 4.667969 17.5 5 17.5 Z M 18.125 9.443359 C 18.125 9.866537 18.040363 10.263672 17.871094 10.634766 C 17.701822 11.005859 17.473957 11.329753 17.1875 11.606445 C 16.901041 11.883139 16.56901 12.101237 16.191406 12.260742 C 15.813802 12.420248 15.416666 12.5 15 12.5 C 14.563802 12.5 14.1569 12.41862 13.779297 12.255859 C 13.401691 12.0931 13.071288 11.870117 12.788086 11.586914 C 12.504882 11.303711 12.2819 10.973308 12.119141 10.595703 C 11.95638 10.2181 11.875 9.811198 11.875 9.375 C 11.875 8.938803 11.95638 8.531901 12.119141 8.154297 C 12.2819 7.776693 12.504882 7.446289 12.788086 7.163086 C 13.071288 6.879883 13.401691 6.656901 13.779297 6.494141 C 14.1569 6.331381 14.563802 6.25 15 6.25 C 15.449218 6.25 15.864257 6.333008 16.245117 6.499023 C 16.625977 6.665039 16.956379 6.892904 17.236328 7.182617 C 17.516275 7.472331 17.734375 7.810873 17.890625 8.198242 C 18.046875 8.585612 18.125 9.000651 18.125 9.443359 Z M 20 16.25 C 20 16.666666 19.926758 17.049154 19.780273 17.397461 C 19.633789 17.745768 19.435221 18.058268 19.18457 18.334961 C 18.933918 18.611654 18.642578 18.854166 18.310547 19.0625 C 17.978516 19.270834 17.626953 19.444986 17.255859 19.584961 C 16.884766 19.724936 16.505533 19.829102 16.118164 19.897461 C 15.730794 19.96582 15.358072 20 15 20 C 14.654947 20 14.291992 19.96582 13.911133 19.897461 C 13.530273 19.829102 13.154297 19.726562 12.783203 19.589844 C 12.412109 19.453125 12.058919 19.282227 11.723633 19.077148 C 11.388346 18.87207 11.092122 18.632812 10.834961 18.359375 C 10.577799 18.085938 10.374349 17.779947 10.224609 17.441406 C 10.074869 17.102865 10 16.731771 10 16.328125 L 10 15.78125 C 10 15.501303 10.052083 15.237631 10.15625 14.990234 C 10.260416 14.742839 10.405273 14.526367 10.59082 14.34082 C 10.776367 14.155273 10.991211 14.010417 11.235352 13.90625 C 11.479492 13.802084 11.744791 13.75 12.03125 13.75 L 17.96875 13.75 C 18.248697 13.75 18.512369 13.803711 18.759766 13.911133 C 19.00716 14.018555 19.222004 14.163412 19.404297 14.345703 C 19.586588 14.527995 19.731445 14.742839 19.838867 14.990234 C 19.946289 15.237631 20 15.501303 20 15.78125 Z " />
                </coreControls:WinoNavigationViewItem.Icon>

                <Grid MinHeight="50">
                    <StackPanel VerticalAlignment="Center" Spacing="0">
                        <TextBlock
                            x:Name="AccountNameTextblock"
                            FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsChildSelected), Mode=OneWay}"
                            MaxLines="1"
                            Style="{StaticResource BodyTextBlockStyle}"
                            Text="{x:Bind MergedAccountName, Mode=OneWay}"
                            TextTrimming="CharacterEllipsis" />

                        <TextBlock
                            FontSize="12"
                            MaxLines="1"
                            Style="{StaticResource CaptionTextBlockStyle}"
                            TextTrimming="CharacterEllipsis">
                            <Run Text="{x:Bind MergedAccountCount}" /><Run Text="{x:Bind domain:Translator.MenuMergedAccountItemAccountsSuffix}" />
                        </TextBlock>
                    </StackPanel>
                </Grid>
            </controls:AccountNavigationItem>
        </DataTemplate>

        <!--  Merged Account Common Folder Item  -->
        <DataTemplate x:Key="MergedAccountFolderMenuItemTemplate" x:DataType="menu:MergedAccountFolderMenuItem">
            <coreControls:WinoNavigationViewItem
                MinHeight="30"
                AllowDrop="True"
                ContextRequested="MenuItemContextRequested"
                DataContext="{x:Bind}"
                DragEnter="ItemDragEnterOnFolder"
                DragLeave="ItemDragLeaveFromFolder"
                Drop="ItemDroppedOnFolder"
                FontSize="50"
                FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
                IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
                IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
                SelectsOnInvoked="True"
                ToolTipService.ToolTip="{x:Bind FolderName, Mode=OneWay}">
                <animations:Implicit.Animations>
                    <animations:ScaleAnimation Duration="0:0:0.5" />
                </animations:Implicit.Animations>
                <coreControls:WinoNavigationViewItem.Icon>
                    <coreControls:WinoFontIcon FontSize="64" Icon="{x:Bind helpers:XamlHelpers.GetSpecialFolderPathIconGeometry(FolderType)}" />
                </coreControls:WinoNavigationViewItem.Icon>
                <muxc:NavigationViewItem.InfoBadge>
                    <muxc:InfoBadge
                        x:Name="FolderInfoBadge"
                        Background="{StaticResource SystemAccentColor}"
                        Foreground="White"
                        Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
                        Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
                </muxc:NavigationViewItem.InfoBadge>
                <Grid
                    x:Name="FolderBackgroundGrid"
                    Padding="2"
                    VerticalAlignment="Center">
                    <TextBlock
                        x:Name="NormalTitle"
                        VerticalAlignment="Center"
                        FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightBySyncState(IsSelected), Mode=OneWay}"
                        Style="{StaticResource BodyTextBlockStyle}"
                        Text="{x:Bind FolderName, Mode=OneWay}"
                        TextWrapping="WrapWholeWords" />
                </Grid>
            </coreControls:WinoNavigationViewItem>
        </DataTemplate>

        <!--  Merged Account More Expansion Item  -->
        <DataTemplate x:Key="MergedAccountMoreFolderItemTemplate" x:DataType="menu:MergedAccountMoreFolderMenuItem">
            <coreControls:WinoNavigationViewItem
                MinHeight="30"
                Content="{x:Bind domain:Translator.More}"
                FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
                IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
                IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
                MenuItemsSource="{x:Bind SubMenuItems, Mode=OneWay}"
                SelectsOnInvoked="True">
                <animations:Implicit.Animations>
                    <animations:ScaleAnimation Duration="0:0:0.5" />
                </animations:Implicit.Animations>
                <coreControls:WinoNavigationViewItem.Icon>
                    <coreControls:WinoFontIcon FontSize="64" Icon="{x:Bind helpers:XamlHelpers.GetSpecialFolderPathIconGeometry(enums:SpecialFolderType.More)}" />
                </coreControls:WinoNavigationViewItem.Icon>
            </coreControls:WinoNavigationViewItem>
        </DataTemplate>

        <coreSelectors:NavigationMenuTemplateSelector
            x:Key="NavigationMenuTemplateSelector"
            AccountManagementTemplate="{StaticResource ManageAccountsTemplate}"
            ClickableAccountMenuTemplate="{StaticResource ClickableAccountMenuTemplate}"
            FixAuthenticationIssueTemplate="{StaticResource FixAuthenticationIssueTemplate}"
            FixMissingFolderConfigTemplate="{StaticResource FixMissingFolderConfig}"
            FolderMenuTemplate="{StaticResource FolderMenuTemplate}"
            MergedAccountFolderTemplate="{StaticResource MergedAccountFolderMenuItemTemplate}"
            MergedAccountMoreExpansionItemTemplate="{StaticResource MergedAccountMoreFolderItemTemplate}"
            MergedAccountTemplate="{StaticResource MergedAccountTemplate}"
            NewMailTemplate="{StaticResource CreateNewMailTemplate}"
            RatingItemTemplate="{StaticResource RatingItemTemplate}"
            SeperatorTemplate="{StaticResource SeperatorTemplate}"
            SettingsItemTemplate="{StaticResource SettingsItemTemplate}" />
    </Page.Resources>

    <Grid
        x:Name="RootGrid"
        Padding="0"
        ColumnSpacing="0"
        RowSpacing="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="48" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="48" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <Grid
            Grid.RowSpan="2"
            Grid.ColumnSpan="2"
            Background="{ThemeResource WinoApplicationBackgroundColor}"
            IsHitTestVisible="False" />

        <muxc:NavigationView
            x:Name="navigationView"
            Grid.Row="1"
            Grid.ColumnSpan="3"
            Margin="-1,-1,0,0"
            HorizontalContentAlignment="Stretch"
            VerticalContentAlignment="Stretch"
            AlwaysShowHeader="True"
            DisplayModeChanged="NavigationViewDisplayModeChanged"
            FooterMenuItemsSource="{x:Bind ViewModel.FooterItems, Mode=OneWay}"
            IsBackButtonVisible="Collapsed"
            IsPaneOpen="{x:Bind ViewModel.PreferencesService.IsNavigationPaneOpened, Mode=TwoWay}"
            IsPaneToggleButtonVisible="False"
            IsSettingsVisible="False"
            IsTabStop="True"
            IsTitleBarAutoPaddingEnabled="False"
            ItemInvoked="NavigationViewItemInvoked"
            MenuItemTemplateSelector="{StaticResource NavigationMenuTemplateSelector}"
            MenuItemsSource="{x:Bind ViewModel.MenuItems, Mode=OneWay}"
            OpenPaneLength="{x:Bind ViewModel.StatePersistenceService.OpenPaneLength, Mode=TwoWay}"
            PaneDisplayMode="Auto"
            PaneOpening="NavigationPaneOpening"
            ScrollViewer.VerticalScrollBarVisibility="Hidden"
            SelectedItem="{x:Bind ViewModel.SelectedMenuItem, Mode=TwoWay}"
            SelectionChanged="MenuSelectionChanged">
            <muxc:NavigationView.ContentTransitions>
                <TransitionCollection>
                    <AddDeleteThemeTransition />
                </TransitionCollection>
            </muxc:NavigationView.ContentTransitions>
            <Grid ColumnSpacing="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <controls1:PropertySizer
                    Width="1"
                    HorizontalAlignment="Left"
                    Background="Transparent"
                    Binding="{x:Bind ViewModel.StatePersistenceService.OpenPaneLength, Mode=TwoWay}"
                    Canvas.ZIndex="20"
                    Foreground="Transparent"
                    IsHitTestVisible="{x:Bind navigationView.IsPaneOpen, Mode=OneWay}"
                    IsTabStop="False"
                    Maximum="1000"
                    Minimum="116" />

                <!--  Main Content  -->
                <Frame
                    x:Name="ShellFrame"
                    Padding="0,0,7,7"
                    IsNavigationStackEnabled="False"
                    Navigated="ShellFrameContentNavigated">
                    <Frame.ContentTransitions>
                        <TransitionCollection>
                            <PopupThemeTransition />
                        </TransitionCollection>
                    </Frame.ContentTransitions>
                </Frame>

                <!--  InfoBar  -->
                <coreControls:WinoInfoBar
                    x:Name="ShellInfoBar"
                    MaxWidth="700"
                    Margin="0,60,25,0"
                    HorizontalAlignment="Right"
                    VerticalAlignment="Top"
                    IsClosable="False"
                    IsOpen="False" />

                <!--  Teaching Tip  -->
                <muxc:TeachingTip
                    x:Name="ShellTip"
                    IsOpen="False"
                    PreferredPlacement="Bottom"
                    Target="{x:Bind ShellInfoBar}" />
            </Grid>
        </muxc:NavigationView>

        <coreControls:WinoAppTitleBar
            x:Name="RealAppBar"
            Grid.ColumnSpan="2"
            BackButtonClicked="BackButtonClicked"
            Canvas.ZIndex="150"
            ConnectionStatus="{x:Bind ViewModel.ActiveConnectionStatus, Mode=OneWay}"
            CoreWindowText="{x:Bind ViewModel.StatePersistenceService.CoreWindowTitle, Mode=OneWay}"
            IsBackButtonVisible="{x:Bind ViewModel.StatePersistenceService.IsBackButtonVisible, Mode=OneWay}"
            IsDragArea="True"
            IsNavigationPaneOpen="{x:Bind navigationView.IsPaneOpen, Mode=TwoWay}"
            IsReaderNarrowed="{x:Bind ViewModel.StatePersistenceService.IsReaderNarrowed, Mode=OneWay}"
            NavigationViewDisplayMode="{x:Bind navigationView.DisplayMode, Mode=OneWay}"
            OpenPaneLength="{x:Bind ViewModel.StatePersistenceService.OpenPaneLength, Mode=OneWay}"
            ReadingPaneLength="{x:Bind ViewModel.StatePersistenceService.MailListPaneLength, Mode=OneWay}"
            ReconnectCommand="{x:Bind ViewModel.ReconnectServerCommand}"
            SystemReserved="180" />
    </Grid>
</abstract:AppShellAbstract>
