<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:vm="using:DodoSSH.Client.Shell.ViewModels"
             x:Class="DodoSSH.Client.App.Views.SettingsTitleBar"
             x:DataType="vm:MainWindowViewModel">

  <!--
    v5c: settings mode's own titlebar — SettingsNav.dc.html and the four Settings-*.dc.html sources all draw
    the same 53px bar: "Back to application" on the left, in place of the wordmark and the search box, and
    the same three window-control glyphs on the right TitleBar.axaml already draws.

    A separate control rather than a variant of TitleBar itself, on the same reasoning SessionHeader and
    SessionStatusBar are their own files: nothing here can be measured by a test that hosts the real window,
    and a control that is either "the wordmark bar" or "the settings bar" depending on a bound flag would be
    two controls wearing one name. The dragging, maximising and closing logic is duplicated from TitleBar's
    own code-behind rather than shared through a base class — four short handlers, and the day one of the two
    bars needs its own window behaviour a shared base would have to be pulled apart first.

    v5c-3: two back buttons rather than one whose text and command a converter swaps, toggled by
    MainWindowViewModel.IsImportOpen — Import.dc.html draws the same 53px bar with "Back to preferences" in
    place of "Back to application" while the importer is up, and CloseImportCommand closes it without leaving
    settings mode, unlike LeaveSettingsCommand.
  -->

  <Border Height="53" Background="{StaticResource DeepChrome}"
          PointerPressed="OnDrag" DoubleTapped="OnToggleMaximised">

    <Grid ColumnDefinitions="*,Auto" Margin="26,0,20,0">

      <Button Grid.Column="0" Classes="flat" HorizontalAlignment="Left"
              IsVisible="{Binding !IsImportOpen}"
              Command="{Binding LeaveSettingsCommand}"
              ToolTip.Tip="Back to the screen you were on before opening Settings">
        <StackPanel Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
          <TextBlock FontFamily="{StaticResource IconFont}" Text="&#xE5C4;" FontSize="17"
                     Foreground="{StaticResource TextFaint}" VerticalAlignment="Center" />
          <TextBlock Text="Back to application" FontSize="13" FontWeight="SemiBold"
                     Foreground="{StaticResource Text}" VerticalAlignment="Center" />
        </StackPanel>
      </Button>

      <Button Grid.Column="0" Classes="flat" HorizontalAlignment="Left"
              IsVisible="{Binding IsImportOpen}"
              Command="{Binding CloseImportCommand}"
              ToolTip.Tip="Back to preferences, without leaving Settings">
        <StackPanel Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
          <TextBlock FontFamily="{StaticResource IconFont}" Text="&#xE5C4;" FontSize="17"
                     Foreground="{StaticResource TextFaint}" VerticalAlignment="Center" />
          <TextBlock Text="Back to preferences" FontSize="13" FontWeight="SemiBold"
                     Foreground="{StaticResource Text}" VerticalAlignment="Center" />
        </StackPanel>
      </Button>

      <!-- The window controls, identical to TitleBar's own — see the remark above on why they are repeated. -->
      <StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="2">
        <Button Classes="flat" Width="26" Height="24" Click="OnMinimise"
                ToolTip.Tip="Minimise">
          <TextBlock FontFamily="{StaticResource IconFont}" Text="&#xE15B;" FontSize="14"
                     Foreground="{StaticResource TextFaint}"
                     HorizontalAlignment="Center" VerticalAlignment="Center" />
        </Button>
        <Button Classes="flat" Width="26" Height="24" Click="OnToggleMaximised"
                ToolTip.Tip="Maximise">
          <TextBlock FontFamily="{StaticResource IconFont}" Text="&#xE3C6;" FontSize="13"
                     Foreground="{StaticResource TextFaint}"
                     HorizontalAlignment="Center" VerticalAlignment="Center" />
        </Button>
        <Button Classes="flat close" Width="26" Height="24" Click="OnClose"
                ToolTip.Tip="Close DodoSSH. This ends every shell it has open.">
          <TextBlock FontFamily="{StaticResource IconFont}" Text="&#xE5CD;" FontSize="14"
                     HorizontalAlignment="Center" VerticalAlignment="Center" />
        </Button>
      </StackPanel>

    </Grid>

  </Border>

</UserControl>
