@using Microsoft.Extensions.Localization
@using RomRepoMgr.Blazor.Resources
@using RomRepoMgr.Database
@implements IDialogContentComponent
@inject ILogger<ImportRoms>            Logger
@inject Context                        _ctx
@inject IStringLocalizer<Localization> Localizer
@inject IConfiguration                 Configuration

<FluentDialog Width="1600px" Height="800px" Title="Import DATs" Modal="true" TrapFocus="true">
    <FluentDialogBody>
        <p hidden="@IsBusy">@string.Format(Localizer["ROMs_will_be_imported_from"], FolderPath)</p>
        @if(NotYetStarted)
        {
            <FluentCheckbox @bind-Value="@RemoveFilesChecked" Label="@Localizer["RemoveFilesLabel"]"/>

            <FluentCheckbox @bind-Value="@KnownOnlyChecked" Label="@Localizer["KnownOnlyLabel"]"/>

            <FluentCheckbox @bind-Value="@RecurseArchivesChecked"
                            Label=@Localizer["RecurseArchivesLabel"]/>
        }
        @if(Importing)
        {
            <div>
                <FluentLabel Color="@StatusMessageColor">@StatusMessage</FluentLabel>
                <FluentProgress Max="@ProgressMax" Min="@ProgressMin" Value="@ProgressValue"/>
            </div>
        }
        @if(Progress2Visible)
        {
            <div>
                <FluentLabel>@StatusMessage2</FluentLabel>
                <FluentProgress Max="@Progress2Max" Min="@Progress2Min" Value="@Progress2Value"/>
            </div>
        }
    </FluentDialogBody>
    <FluentDialogFooter>
        <FluentStack Orientation="Orientation.Horizontal">
            <FluentButton OnClick="@Start" Disabled="@IsBusy">@Localizer["Start"]</FluentButton>
            <FluentButton OnClick="@CloseAsync" Disabled="@CannotClose">@Localizer["Close"]</FluentButton>
        </FluentStack>
    </FluentDialogFooter>
</FluentDialog>