<UserControl 
    x:Class="Ryujinx.Ava.UI.Views.Settings.SettingsUIView"
    xmlns="https://github.com/avaloniaui"
    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:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
    xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
    mc:Ignorable="d"
    x:CompileBindings="True"
    x:DataType="viewModels:SettingsViewModel">
    <Design.DataContext>
        <viewModels:SettingsViewModel />
    </Design.DataContext>
    <ScrollViewer 
        Name="UiPage"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"
        HorizontalScrollBarVisibility="Disabled"
        VerticalScrollBarVisibility="Auto">
        <Border Classes="settings">
            <StackPanel
                Margin="10"
                HorizontalAlignment="Stretch"
                Orientation="Vertical"
                Spacing="10">
                <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGeneral}" />
                <StackPanel Margin="10,0,0,0" Orientation="Vertical">
                    <CheckBox IsChecked="{Binding EnableDiscordIntegration}">
                        <TextBlock VerticalAlignment="Center"
                                   ToolTip.Tip="{locale:Locale ToggleDiscordTooltip}"
                                   Text="{locale:Locale SettingsTabGeneralEnableDiscordRichPresence}" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding CheckUpdatesOnStart}">
                        <TextBlock Text="{locale:Locale SettingsTabGeneralCheckUpdatesOnLaunch}" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding ShowConfirmExit}">
                        <TextBlock Text="{locale:Locale SettingsTabGeneralShowConfirmExitDialog}" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding HideCursorOnIdle}">
                        <TextBlock Text="{locale:Locale SettingsTabGeneralHideCursorOnIdle}" />
                    </CheckBox>
                </StackPanel>
                <Separator Height="1" />
                <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGameDirectories}" />
                <StackPanel
                    Margin="10,0,0,0"
                    HorizontalAlignment="Stretch"
                    Orientation="Vertical"
                    Spacing="10">
                    <ListBox
                        Name="GameList"
                        MinHeight="230"
                        Items="{Binding GameDirectories}">
                        <ListBox.Styles>
                            <Style Selector="ListBoxItem">
                                <Setter Property="Padding" Value="10" />
                                <Setter Property="Background" Value="{DynamicResource ListBoxBackground}" />
                            </Style>
                        </ListBox.Styles>
                    </ListBox>
                    <Grid HorizontalAlignment="Stretch">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>
                        <TextBox
                            Name="PathBox"
                            Margin="0"
                            ToolTip.Tip="{locale:Locale AddGameDirBoxTooltip}"
                            VerticalAlignment="Stretch" />
                        <Button
                            Name="AddButton"
                            Grid.Column="1"
                            MinWidth="90"
                            Margin="10,0,0,0"
                            ToolTip.Tip="{locale:Locale AddGameDirTooltip}"
                            Click="AddButton_OnClick">
                            <TextBlock HorizontalAlignment="Center"
                                       Text="{locale:Locale SettingsTabGeneralAdd}" />
                        </Button>
                        <Button
                            Name="RemoveButton"
                            Grid.Column="2"
                            MinWidth="90"
                            Margin="10,0,0,0"
                            ToolTip.Tip="{locale:Locale RemoveGameDirTooltip}"
                            Click="RemoveButton_OnClick">
                            <TextBlock HorizontalAlignment="Center"
                                       Text="{locale:Locale SettingsTabGeneralRemove}" />
                        </Button>
                    </Grid>
                </StackPanel>
                <Separator Height="1" />
                <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralTheme}" />
                <Grid Margin="10,0,0,0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition />
                        <ColumnDefinition Width="Auto" />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <CheckBox 
                        IsChecked="{Binding EnableCustomTheme}"
                        ToolTip.Tip="{locale:Locale CustomThemeCheckTooltip}">
                        <TextBlock Text="{locale:Locale SettingsTabGeneralThemeEnableCustomTheme}" />
                    </CheckBox>
                    <TextBlock
                        Grid.Column="0"
                        Grid.Row="1"
                        VerticalAlignment="Center"
                        Margin="0,10,0,0"
                        Text="{locale:Locale SettingsTabGeneralThemeCustomTheme}"
                        ToolTip.Tip="{locale:Locale CustomThemePathTooltip}" />
                    <TextBox
                        Grid.Row="1"
                        Grid.Column="1"
                        Margin="0,10,0,0"
                        Text="{Binding CustomThemePath}" />
                    <Button 
                        Grid.Row="1"
                        Grid.Column="2"
                        Margin="10,10,0,0"
                        Click="BrowseTheme"
                        ToolTip.Tip="{locale:Locale CustomThemeBrowseTooltip}"
                        Content="{locale:Locale ButtonBrowse}" />
                    <TextBlock
                        Grid.Column="0"
                        Grid.Row="2"
                        VerticalAlignment="Center"
                        Margin="0,10,0,0"
                        Text="{locale:Locale SettingsTabGeneralThemeBaseStyle}" />
                    <ComboBox
                        Grid.Column="1"
                        Grid.Row="2"
                        VerticalAlignment="Center"
                        Margin="0,10,0,0"
                        MinWidth="100"
                        SelectedIndex="{Binding BaseStyleIndex}">
                        <ComboBoxItem>
                            <TextBlock Text="{locale:Locale SettingsTabGeneralThemeBaseStyleLight}" />
                        </ComboBoxItem>
                        <ComboBoxItem>
                            <TextBlock Text="{locale:Locale SettingsTabGeneralThemeBaseStyleDark}" />
                        </ComboBoxItem>
                    </ComboBox>
                </Grid>
            </StackPanel>
        </Border>
    </ScrollViewer>
</UserControl>