<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:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
    xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
    xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
    xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
    xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
    mc:Ignorable="d"
    d:DesignWidth="600"
    d:DesignHeight="500"
    Height="450"
    Width="550"
    x:Class="Ryujinx.Ava.UI.Views.User.UserSaveManagerView"
    x:DataType="viewModels:UserSaveManagerViewModel"
    Focusable="True">
    <Design.DataContext>
        <viewModels:UserSaveManagerViewModel />
    </Design.DataContext>
    <UserControl.Resources>
        <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
    </UserControl.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition />
            <RowDefinition Height="Auto" />
        </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.Styles>
                        <Style Selector="ContentControl#ContentPresenter">
                            <Setter Property="HorizontalAlignment" Value="Left" />
                        </Style>
                    </ComboBox.Styles>
                </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 OrderDescending}" />
                    </ComboBoxItem>
                    <ComboBox.Styles>
                        <Style Selector="ContentControl#ContentPresenter">
                            <Setter Property="HorizontalAlignment" Value="Left" />
                        </Style>
                    </ComboBox.Styles>
                </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"
            BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
            CornerRadius="5"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch">
            <ListBox
                Name="SaveList"
                ItemsSource="{Binding Views}"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch">
                <ListBox.Styles>
                    <Style Selector="ListBoxItem">
                        <Setter Property="Padding" Value="10" />
                        <Setter Property="Margin" Value="5" />
                        <Setter Property="CornerRadius" Value="4" />
                    </Style>
                    <Style Selector="ListBoxItem:selected /template/ Rectangle#SelectionIndicator">
                        <Setter Property="IsVisible" Value="False" />
                    </Style>
                </ListBox.Styles>
                <ListBox.ItemTemplate>
                    <DataTemplate x:DataType="models:SaveModel">
                        <Grid HorizontalAlignment="Stretch">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>
                            <StackPanel
                                Grid.Column="0"
                                Orientation="Horizontal"
                                Spacing="5">
                                <Border
                                    Height="42"
                                    Width="42"
                                    Padding="10"
                                    BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
                                    BorderThickness="1"
                                    IsVisible="{Binding !InGameList}">
                                    <ui:SymbolIcon
                                        Symbol="Help"
                                        FontSize="30"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center" />
                                </Border>
                                <Image
                                    IsVisible="{Binding InGameList}"
                                    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"
                                    Click="OpenLocation">
                                    <ui:SymbolIcon
                                        Symbol="OpenFolder"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center" />
                                </Button>
                                <Button
                                    VerticalAlignment="Center"
                                    HorizontalAlignment="Right"
                                    Padding="10"
                                    MinWidth="0"
                                    MinHeight="0"
                                    Name="Delete"
                                    Click="Delete">
                                    <ui:SymbolIcon
                                        Symbol="Delete"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center" />
                                </Button>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Border>
        <StackPanel
            Grid.Row="2"
            Margin="0 24 0 0"
            Orientation="Horizontal">
            <Button
                Width="50"
                MinWidth="50"
                Click="GoBack">
                <ui:SymbolIcon Symbol="Back" />
            </Button>
        </StackPanel>
    </Grid>
</UserControl>