[CHANGE] Cookie import by netscape cookie txt format

This commit is contained in:
max
2025-09-28 17:47:34 +02:00
parent 2c125c24ae
commit abc1505b6e
4 changed files with 151 additions and 66 deletions

View File

@@ -27,27 +27,45 @@
<MudStack Row Spacing="2" Style="height: 100%">
<MudPaper Elevation="0" Outlined Class="pa-2" Style="width: 50%;">
<MudText>Import cookies</MudText>
<MudText Typo="Typo.caption">@($"{ImportCookies.Count} cookie(s) imported")</MudText>
<MudForm @bind-IsValid="@_cookieImportTextValid">
<MudTextField @bind-Value="@_cookieDomain" Immediate Required Label="Domain"
RequiredError="Domain is required."/>
<MudText>Import cookies (Netscape Cookie format)</MudText>
<MudStack Spacing="2">
<MudStack Row Spacing="2">
<MudFileUpload T="IBrowserFile" Accept=".txt" FilesChanged="UploadFiles">
<ActivatorContent>
<MudButton Variant="Variant.Filled"
Color="Color.Primary"
StartIcon="@Icons.Material.Filled.CloudUpload">
Upload cookie txt
</MudButton>
</ActivatorContent>
</MudFileUpload>
<MudButton Variant="Variant.Outlined"
OnClick="ParseCookies" Disabled="@(string.IsNullOrWhiteSpace(_cookieText))">Import
</MudButton>
</MudStack>
@if (MissingCookies.Any())
{
<MudPaper Class="pa-2" Elevation="0" Outlined>
<MudAlert Severity="Severity.Warning" Square Class="mb-2 mt-3">Some required cookies are not found, add the following cookie(s) to continue.</MudAlert>
<MudChipSet T="string" ReadOnly>
@foreach (var missingCookieName in MissingCookies)
{
<MudChip Variant="Variant.Text" Color="Color.Info">@missingCookieName</MudChip>
}
</MudChipSet>
</MudPaper>
}
<MudTextField Class="my-2" Lines="4" AutoGrow @bind-Value="@_cookieText" Immediate
Required Label="Cookies" Variant="Variant.Outlined"
Placeholder="EXAMPLE: Cookie1=Value1; Cookie2=Value2;"
Validation="@(new Func<string, string?>(ValidateCookieText))"/>
<MudButton Variant="Variant.Outlined" Disabled="@(!_cookieImportTextValid)"
OnClick="ParseCookies">Import
</MudButton>
</MudForm>
Required Label="Cookies" Variant="Variant.Outlined"/>
</MudStack>
</MudPaper>
<MudDataGrid Items="ImportCookies" Dense Elevation="0" Outlined Style="width: 50%;">
<Header>
<MudStack Class="ma-2">
<MudText>Cookies</MudText>
</MudStack>
</Header>
<ToolBarContent>
<MudText>Cookies</MudText>
<MudSpacer />
<MudText Typo="Typo.caption">@($"{ImportCookies.Count} cookie(s)")</MudText>
</ToolBarContent>
<Columns>
<TemplateColumn Title="Name">
<CellTemplate>
@@ -67,6 +85,11 @@
Immediate/>
</CellTemplate>
</TemplateColumn>
<TemplateColumn Title="Expires">
<CellTemplate>
@context.Item.Expires
</CellTemplate>
</TemplateColumn>
</Columns>
</MudDataGrid>
</MudStack>