<?xml version="1.0" encoding="utf-8"?>
<UserControl
    x:Class="TeamsISO.App.WinUI.Views.SettingsDrawer"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!--
        Settings drawer — slides in from the right over the participants
        table when the operator clicks the rail's settings icon. Esc dismiss.
        Hosted inline (not as a separate Window) so the drawer feels like
        part of the main surface rather than a satellite. Width fixed at
        400px to give every setting a 320px input field after padding.

        The five tabs mirror the WPF host's settings groups so the operator
        finds the same toggles in the same places. The Appearance tab is
        new — tri-state Theme picker (System / Dark / Light) plus a peek at
        the accent palette so the operator can verify Wild Dragon brand is
        respected on a light desk.
    -->

    <Grid Background="{ThemeResource BgSurface}"
          BorderBrush="{ThemeResource BorderSubtle}"
          BorderThickness="1,0,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="56"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <!-- Header -->
        <Grid Grid.Row="0"
              Padding="20,0,12,0"
              BorderBrush="{ThemeResource BorderSubtle}"
              BorderThickness="0,0,0,1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <TextBlock Text="Settings"
                       Style="{StaticResource TextTitle}"
                       VerticalAlignment="Center"/>
            <Button x:Name="CloseButton"
                    Grid.Column="1"
                    Style="{StaticResource ButtonCaption}"
                    Click="OnCloseClick"
                    ToolTipService.ToolTip="Close (Esc)">
                <FontIcon Glyph="&#xE8BB;" FontSize="12"/>
            </Button>
        </Grid>

        <!-- Body. NavigationView swapped for a simpler horizontal tab
             button strip; the WinUI 3 NavigationView's resource
             dictionary expansion was crashing the XAML parser at
             SettingsDrawer construction time. -->
        <Grid Grid.Row="1">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <StackPanel Grid.Row="0"
                        x:Name="TabStrip"
                        Orientation="Horizontal"
                        Spacing="4"
                        Padding="12,8"
                        BorderBrush="{ThemeResource BorderSubtle}"
                        BorderThickness="0,0,0,1"/>
            <ScrollViewer Grid.Row="1"
                          VerticalScrollBarVisibility="Auto"
                          Padding="20">
                <StackPanel x:Name="TabContent" Spacing="16"/>
            </ScrollViewer>
        </Grid>

        <!-- Footer: Apply / Reset -->
        <Grid Grid.Row="2"
              Padding="16,12"
              BorderBrush="{ThemeResource BorderSubtle}"
              BorderThickness="0,1,0,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0"
                       x:Name="DirtyHint"
                       Text="Changes apply on close."
                       Style="{StaticResource TextCaption}"
                       VerticalAlignment="Center"/>
            <Button Grid.Column="1"
                    Style="{StaticResource ButtonTertiary}"
                    Content="Reset to defaults"
                    Margin="0,0,8,0"
                    Click="OnResetClick"/>
            <Button Grid.Column="2"
                    Style="{StaticResource ButtonPrimary}"
                    Content="Apply"
                    Click="OnApplyClick"/>
        </Grid>
    </Grid>
</UserControl>
