<ContentDialog
    x:Class="Wino.Core.UWP.Dialogs.NewAccountDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:accounts="using:Wino.Core.Domain.Models.Accounts"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:domain="using:Wino.Core.Domain"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
    Title="{x:Bind domain:Translator.NewAccountDialog_Title}"
    HorizontalContentAlignment="Stretch"
    DefaultButton="Primary"
    IsPrimaryButtonEnabled="False"
    Opened="DialogOpened"
    PrimaryButtonClick="CreateClicked"
    PrimaryButtonText="{x:Bind domain:Translator.Buttons_CreateAccount}"
    SecondaryButtonClick="CancelClicked"
    SecondaryButtonText="{x:Bind domain:Translator.Buttons_Cancel}"
    Style="{StaticResource WinoDialogStyle}"
    mc:Ignorable="d">

    <ContentDialog.Resources>
        <DataTemplate x:Key="NewMailProviderTemplate" x:DataType="accounts:ProviderDetail">
            <Grid Margin="0,8" Padding="6">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <Image
                    Width="35"
                    Height="35"
                    Source="{x:Bind ProviderImage}" />
                <StackPanel
                    Grid.Column="1"
                    Margin="12,0"
                    VerticalAlignment="Center"
                    Spacing="2">
                    <TextBlock FontWeight="Bold" Text="{x:Bind Name}" />
                    <TextBlock Text="{x:Bind Description}" />
                </StackPanel>
            </Grid>
        </DataTemplate>
    </ContentDialog.Resources>

    <Grid MinWidth="400" RowSpacing="12">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <!--  Account Name  -->
        <TextBox
            x:Name="AccountNameTextbox"
            Header="{x:Bind domain:Translator.NewAccountDialog_AccountName}"
            PlaceholderText="{x:Bind domain:Translator.NewAccountDialog_AccountNamePlaceholder}"
            TextChanged="AccountNameChanged" />

        <!--
            TODO: Move Name, Sender Name and Color Picker to another Frame.
            Provider selection should be first, then account details.
        -->
        <!--<Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <TextBlock Text="Color" />
            <muxc:ColorPicker x:Name="AccountColorPicker" Grid.Column="1" />
        </Grid>-->

        <ListView
            Grid.Row="2"
            Padding="0"
            ItemTemplate="{StaticResource NewMailProviderTemplate}"
            ItemsSource="{x:Bind Providers}"
            SelectedItem="{x:Bind SelectedMailProvider, Mode=TwoWay}"
            SelectionMode="Single" />
    </Grid>
</ContentDialog>
