<?xml version="1.0" encoding="utf-8"?>
<Page
    x:Class="SpaceEngineersBlueprintEditor.Views.AppShellPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:add="using:XFEExtension.NetCore.WinUIHelper.Utilities.Additions"
    mc:Ignorable="d" Loaded="Page_Loaded">

    <Grid x:Name="mainGrid">
        <Grid x:Name="appTitleBar" Canvas.ZIndex="1" Height="{Binding ElementName=navigationView, Path=CompactPaneLength}" IsHitTestVisible="True" VerticalAlignment="Top">
            <Image Source="/Assets/Icons/EditorIcon.ico" HorizontalAlignment="Left" Width="16" Height="16"/>
            <TextBlock x:Uid="AppShell_AppTitle" VerticalAlignment="Center" TextWrapping="NoWrap" Margin="28,0,0,0"/>
        </Grid>
        <Grid x:Name="rightPanelGrid" Canvas.ZIndex="2" Margin="0,50,0,0">
            <Grid.TranslationTransition>
                <Vector3Transition/>
            </Grid.TranslationTransition>
            <StackPanel x:Name="messageStackPanel" Margin="0,5,0,0" VerticalAlignment="Top" HorizontalAlignment="Center"/>
        </Grid>
        <Grid x:Name="globalLoadingGrid" Canvas.ZIndex="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="{ThemeResource SmokeFillColorDefaultBrush}" Visibility="Collapsed">
            <Grid VerticalAlignment="Center" HorizontalAlignment="Center" CornerRadius="15" Padding="100">
                <Grid.Background>
                    <SolidColorBrush Color="Black" Opacity="0.5"/>
                </Grid.Background>
                <StackPanel Spacing="30">
                    <TextBlock x:Name="globalLoadingTextBlock" Text="加载中..." Foreground="White" FontSize="34" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    <ProgressRing IsActive="True" Width="60" Height="60" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </StackPanel>
            </Grid>
        </Grid>
        <NavigationView x:Name="navigationView" IsBackButtonVisible="Visible" Canvas.ZIndex="0" IsBackEnabled="{x:Bind ViewModel.CanGoBack, Mode=OneWay}" IsSettingsVisible="False" DisplayModeChanged="NavigationView_DisplayModeChanged" PaneOpening="NavigationView_PaneOpening" PaneOpened="NavigationView_PaneOpened" PaneClosing="NavigationView_PaneClosing" PaneClosed="NavigationView_PaneClosed">
            <NavigationView.MenuItems>
                <NavigationViewItem x:Uid="AppShell_ShellItem_MainPage" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.MainPage">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph="&#xE80F;"/>
                    </NavigationViewItem.Icon>
                </NavigationViewItem>
                <NavigationViewItem x:Uid="AppShell_ShellItem_EditorPage" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.BlueprintEditPage">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph="&#xEC7A;"/>
                    </NavigationViewItem.Icon>
                </NavigationViewItem>
                <NavigationViewItem x:Uid="AppShell_ShellMenu_ViewBlurprints">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph="&#xF571;"/>
                    </NavigationViewItem.Icon>
                    <NavigationViewItem.MenuItems>
                        <NavigationViewItem x:Uid="AppShell_ShellItem_ViewLocalBlueprints" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.BlueprintsViewPage" add:NavigationAddition.NavigateParameter="Local">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xE8DA;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                        <NavigationViewItem x:Uid="AppShell_ShellItem_ViewCloudBlueprints" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.BlueprintsViewPage" add:NavigationAddition.NavigateParameter="Cloud">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xE753;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                        <NavigationViewItem x:Uid="AppShell_ShellItem_ViewWorkshopBlueprints" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.BlueprintsViewPage" add:NavigationAddition.NavigateParameter="Workshop">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xE753;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                    </NavigationViewItem.MenuItems>
                </NavigationViewItem>
                <NavigationViewItem x:Uid="AppShell_ShellMenu_ViewDefinitions">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph="&#xECAA;"/>
                    </NavigationViewItem.Icon>
                    <NavigationViewItem.MenuItems>
                        <NavigationViewItem x:Uid="AppShell_ShellMenu_ViewDefinitions_CubeDefinitions" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.GameDefinitionsViewPage" add:NavigationAddition.NavigateParameter="Cubes">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xF158;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                        <NavigationViewItem x:Uid="AppShell_ShellMenu_ViewDefinitions_ComponentDefinitions" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.GameDefinitionsViewPage" add:NavigationAddition.NavigateParameter="Components">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xF157;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                        <NavigationViewItem x:Uid="AppShell_ShellMenu_ViewDefinitions_ItemDefinitions" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.GameDefinitionsViewPage" add:NavigationAddition.NavigateParameter="Items">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xECA5;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                        <NavigationViewItem x:Uid="AppShell_ShellMenu_ViewDefinitions_ScenariosDefinitions" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.GameDefinitionsViewPage" add:NavigationAddition.NavigateParameter="Scenarios">
                            <NavigationViewItem.Icon>
                                <FontIcon Glyph="&#xE74E;"/>
                            </NavigationViewItem.Icon>
                        </NavigationViewItem>
                    </NavigationViewItem.MenuItems>
                </NavigationViewItem>
            </NavigationView.MenuItems>
            <NavigationView.FooterMenuItems>
                <NavigationViewItem x:Uid="AppShell_ShellItem_AppSetting" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.SettingPage">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph="&#xE713;"/>
                    </NavigationViewItem.Icon>
                </NavigationViewItem>
            </NavigationView.FooterMenuItems>
            <Grid x:Name="loadingGrid">
                <Frame Padding="56,24,56,0" x:Name="navigationFrame"/>
            </Grid>
        </NavigationView>
    </Grid>
</Page>
