<UserControl 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:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
             xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models"
             xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
             xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
             Height="400"
             Width="550"
             x:Class="Ryujinx.Ava.Ui.Controls.SaveManager"
             Focusable="True">
    <UserControl.Resources>
        <controls:BitmapArrayValueConverter x:Key="ByteImage" />
    </UserControl.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid Grid.Row="0" HorizontalAlignment="Stretch">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <StackPanel Spacing="10" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
                <Label Content="{locale:Locale CommonSort}" VerticalAlignment="Center" />
                <ComboBox SelectedIndex="{Binding SortIndex}" Width="100">
                    <ComboBoxItem>
                        <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
                               Content="{locale:Locale Name}" />
                    </ComboBoxItem>
                    <ComboBoxItem>
                        <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
                               Content="{locale:Locale Size}" />
                    </ComboBoxItem>
                </ComboBox>
                <ComboBox SelectedIndex="{Binding OrderIndex}" Width="150">
                    <ComboBoxItem>
                        <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
                               Content="{locale:Locale OrderAscending}" />
                    </ComboBoxItem>
                    <ComboBoxItem>
                        <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
                               Content="{locale:Locale Descending}" />
                    </ComboBoxItem>
                </ComboBox>
            </StackPanel>
            <Grid Grid.Column="1" HorizontalAlignment="Stretch" Margin="10,0, 0, 0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                <Label Content="{locale:Locale Search}" VerticalAlignment="Center"/>
                <TextBox Margin="5,0,0,0" Grid.Column="1" HorizontalAlignment="Stretch" Text="{Binding Search}"/>
            </Grid>
        </Grid>
        <Border Grid.Row="1" Margin="0,5" BorderThickness="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <ListBox Name="SaveList" Items="{Binding View}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                <ListBox.ItemTemplate>
                    <DataTemplate x:DataType="models:SaveModel">
                        <Grid HorizontalAlignment="Stretch" Margin="0,5">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>
                            <StackPanel Grid.Column="0" Orientation="Horizontal">
                                <Border Height="42" Margin="2" Width="42" Padding="10"
                                        IsVisible="{Binding !InGameList}">
                                    <ui:SymbolIcon Symbol="Help" FontSize="30" HorizontalAlignment="Center"
                                                   VerticalAlignment="Center" />
                                </Border>
                                <Image IsVisible="{Binding InGameList}"
                                       Margin="2"
                                       Width="42"
                                       Height="42"
                                       Source="{Binding Icon, Converter={StaticResource ByteImage}}" />
                                <TextBlock MaxLines="3" Width="320" Margin="5" TextWrapping="Wrap"
                                           Text="{Binding  Title}" VerticalAlignment="Center" />
                            </StackPanel>
                            <StackPanel Grid.Column="1" Spacing="10" HorizontalAlignment="Right"
                                        Orientation="Horizontal">
                                <Label Content="{Binding SizeString}" IsVisible="{Binding SizeAvailable}"
                                       VerticalAlignment="Center" HorizontalAlignment="Right" />
                                <Button VerticalAlignment="Center" HorizontalAlignment="Right" Padding="10"
                                        MinWidth="0" MinHeight="0" Name="OpenLocation" Command="{Binding OpenLocation}">
                                    <ui:SymbolIcon Symbol="OpenFolder" HorizontalAlignment="Center"
                                                   VerticalAlignment="Center" />
                                </Button>
                                <Button VerticalAlignment="Center" HorizontalAlignment="Right" Padding="10"
                                        MinWidth="0" MinHeight="0" Name="Delete" Command="{Binding Delete}">
                                    <ui:SymbolIcon Symbol="Delete" HorizontalAlignment="Center"
                                                   VerticalAlignment="Center" />
                                </Button>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Border>
    </Grid>
</UserControl>