<UserControl
    x:Class="Ryujinx.Ava.UI.Windows.TitleUpdateWindow"
    xmlns="https://github.com/avaloniaui"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
    xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
    xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
    Width="500"
    Height="300"
    mc:Ignorable="d"
    x:CompileBindings="True"
    x:DataType="viewModels:TitleUpdateViewModel"
    Focusable="True">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <Border
            Grid.Row="0"
            Margin="0 0 0 24"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
            BorderThickness="1"
            CornerRadius="5"
            Padding="2.5">
            <ListBox
                VirtualizationMode="None"
                Background="Transparent"
                SelectedItem="{Binding SelectedUpdate, Mode=TwoWay}"
                Items="{Binding Views}">
                <ListBox.DataTemplates>
                    <DataTemplate
                        DataType="models:TitleUpdateModel">
                        <Panel Margin="10">
                            <TextBlock
                                HorizontalAlignment="Left"
                                VerticalAlignment="Center"
                                TextWrapping="Wrap"
                                Text="{Binding Label}" />
                            <StackPanel
                                Spacing="10"
                                Orientation="Horizontal"
                                HorizontalAlignment="Right">
                                <Button
                                    VerticalAlignment="Center"
                                    HorizontalAlignment="Right"
                                    Padding="10"
                                    MinWidth="0"
                                    MinHeight="0"
                                    Click="OpenLocation">
                                    <ui:SymbolIcon
                                        Symbol="OpenFolder"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center" />
                                </Button>
                                <Button
                                    VerticalAlignment="Center"
                                    HorizontalAlignment="Right"
                                    Padding="10"
                                    MinWidth="0"
                                    MinHeight="0"
                                    Click="RemoveUpdate">
                                    <ui:SymbolIcon
                                        Symbol="Cancel"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center" />
                                </Button>
                            </StackPanel>
                        </Panel>
                    </DataTemplate>
                    <DataTemplate
                        DataType="viewModels:BaseModel">
                        <Panel
                            Height="33"
                            Margin="10">
                            <TextBlock
                                HorizontalAlignment="Left"
                                VerticalAlignment="Center"
                                TextWrapping="Wrap"
                                Text="{locale:Locale NoUpdate}" />
                        </Panel>
                    </DataTemplate>
                </ListBox.DataTemplates>
                <ListBox.Styles>
                    <Style Selector="ListBoxItem">
                        <Setter Property="Background" Value="Transparent" />
                    </Style>
                </ListBox.Styles>
            </ListBox>
        </Border>
        <Panel
            Grid.Row="1"
            HorizontalAlignment="Stretch">
            <StackPanel
                Orientation="Horizontal"
                Spacing="10"
                HorizontalAlignment="Left">
                <Button
                    Name="AddButton"
                    MinWidth="90"
                    Command="{ReflectionBinding Add}">
                    <TextBlock Text="{locale:Locale SettingsTabGeneralAdd}" />
                </Button>
                <Button
                    Name="RemoveAllButton"
                    MinWidth="90"
                    Click="RemoveAll">
                    <TextBlock Text="{locale:Locale DlcManagerRemoveAllButton}" />
                </Button>
            </StackPanel>
            <StackPanel
                Orientation="Horizontal"
                Spacing="10"
                HorizontalAlignment="Right">
                <Button
                    Name="SaveButton"
                    MinWidth="90"
                    Click="Save">
                    <TextBlock Text="{locale:Locale SettingsButtonSave}" />
                </Button>
                <Button
                    Name="CancelButton"
                    MinWidth="90"
                    Click="Close">
                    <TextBlock Text="{locale:Locale InputDialogCancel}" />
                </Button>
            </StackPanel>
        </Panel>
    </Grid>
</UserControl>