<UserControl
    x:Class="Microsoft.PowerToys.Settings.UI.Views.ShellPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
    xmlns:helpers="using:Microsoft.PowerToys.Settings.UI.Helpers"
    xmlns:views="using:Microsoft.PowerToys.Settings.UI.Views"
    xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
    xmlns:i="using:Microsoft.Xaml.Interactivity"
    HighContrastAdjustment="None"
    muxc:BackdropMaterial.ApplyToRootOrPageBackground="True"
    mc:Ignorable="d">

    <i:Interaction.Behaviors>
        <ic:EventTriggerBehavior EventName="Loaded">
            <ic:InvokeCommandAction Command="{x:Bind ViewModel.LoadedCommand}" />
        </ic:EventTriggerBehavior>
    </i:Interaction.Behaviors>

    <Grid x:Name="RootGrid"
          Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

        <muxc:NavigationView x:Name="navigationView"
                             IsBackButtonVisible="Collapsed"
                             IsTitleBarAutoPaddingEnabled="False"
                             IsBackEnabled="{x:Bind ViewModel.IsBackEnabled, Mode=OneWay}"
                             SelectedItem="{x:Bind ViewModel.Selected, Mode=OneWay}"
                             IsSettingsVisible="False"
                             CompactModeThresholdWidth="1007"
                             ExpandedModeThresholdWidth="1007"
                             PaneOpened="NavigationView_PaneOpened"
                             PaneClosed="NavigationView_PaneClosed">
            <muxc:NavigationView.Resources>
                <SolidColorBrush x:Key="NavigationViewContentBackground"
                                 Color="Transparent" />
                <SolidColorBrush x:Key="NavigationViewContentGridBorderBrush"
                                 Color="Transparent" />
                
            </muxc:NavigationView.Resources>
            <muxc:NavigationView.MenuItems>
                <muxc:NavigationViewItem x:Uid="Shell_General"
                                         helpers:NavHelper.NavigateTo="views:GeneralPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsSettings.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_AlwaysOnTop"
                                         helpers:NavHelper.NavigateTo="views:AlwaysOnTopPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsAlwaysOnTop.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_Awake"
                                         helpers:NavHelper.NavigateTo="views:AwakePage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsAwake.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_ColorPicker"
                                         helpers:NavHelper.NavigateTo="views:ColorPickerPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsColorPicker.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_FancyZones"
                                         helpers:NavHelper.NavigateTo="views:FancyZonesPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsFancyZones.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_PowerPreview"
                                         helpers:NavHelper.NavigateTo="views:PowerPreviewPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsFileExplorerPreview.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_ImageResizer"
                                         helpers:NavHelper.NavigateTo="views:ImageResizerPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsImageResizer.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_KeyboardManager"
                                         helpers:NavHelper.NavigateTo="views:KeyboardManagerPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsKeyboardManager.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_MouseUtilities"
                                         helpers:NavHelper.NavigateTo="views:MouseUtilsPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsMouseUtils.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_PowerRename"
                                         helpers:NavHelper.NavigateTo="views:PowerRenamePage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsPowerRename.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_PowerLauncher"
                                         helpers:NavHelper.NavigateTo="views:PowerLauncherPage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsPowerToysRun.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_ShortcutGuide"
                                         helpers:NavHelper.NavigateTo="views:ShortcutGuidePage">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsShortcutGuide.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

                <muxc:NavigationViewItem x:Uid="Shell_VideoConference"
                                         helpers:NavHelper.NavigateTo="views:VideoConferencePage"
                                         IsEnabled="{x:Bind ViewModel.IsVideoConferenceBuild, Mode=OneWay}">
                    <muxc:NavigationViewItem.Icon>
                        <BitmapIcon UriSource="ms-appx:///Assets/FluentIcons/FluentIconsVideoConferenceMute.png"
                                    ShowAsMonochrome="False" />
                    </muxc:NavigationViewItem.Icon>
                </muxc:NavigationViewItem>

            </muxc:NavigationView.MenuItems>
            <muxc:NavigationView.PaneFooter>
                <StackPanel Orientation="Vertical">
                    <muxc:NavigationViewItem x:Uid="OOBE_NavViewItem"
                                             Tapped="OOBEItem_Tapped">
                        <muxc:NavigationViewItem.Icon>
                            <FontIcon Glyph="&#xF133;"/>
                        </muxc:NavigationViewItem.Icon>
                    </muxc:NavigationViewItem>
                    <muxc:NavigationViewItem x:Uid="Feedback_NavViewItem"
                                             Tapped="FeedbackItem_Tapped">
                        <muxc:NavigationViewItem.Icon>
                            <FontIcon Glyph="&#xED15;"/>
                        </muxc:NavigationViewItem.Icon>
                    </muxc:NavigationViewItem>
                </StackPanel>
            </muxc:NavigationView.PaneFooter>
            <i:Interaction.Behaviors>
                <ic:EventTriggerBehavior EventName="ItemInvoked">
                    <ic:InvokeCommandAction Command="{x:Bind ViewModel.ItemInvokedCommand}" />
                </ic:EventTriggerBehavior>
            </i:Interaction.Behaviors>
            <Frame x:Name="shellFrame" />
        </muxc:NavigationView>
    </Grid>
</UserControl>
