@page "/admin"
@using MudBlazor
@using OpenArchival.Blazor.AdminPages.Shared
@using OpenArchival.DataAccess
@using Microsoft.AspNetCore.Authorization
@using OpenArchival.DataAccess.FileAccessManager
@layout AdminControlPanelLayout
@attribute [Authorize(Roles =$"{UserRoles.Admin}, {UserRoles.Writer}")]
@inject IFileAccessManager FileAccessManager
@inject ISnackbar Snackbar
Admin Home
Welcome to the admin panel of your website! Choose an option on the left hand side bar to configure this application.
Maintenance Tasks
@if (_isBackfilling)
{
Backfilling Thumbnails...
}
else
{
Backfill Missing Thumbnails
}
Generates thumbnails for existing images that were uploaded before the thumbnail system was implemented.
@code {
private bool _isBackfilling = false;
private async Task OnBackfillClicked()
{
_isBackfilling = true;
StateHasChanged();
try
{
var result = await FileAccessManager.BackfillThumbnailsAsync();
Snackbar.Add($"Backfill complete: {result.Processed} processed, {result.Failed} failed.",
result.Failed > 0 ? Severity.Warning : Severity.Success);
}
catch (Exception ex)
{
Snackbar.Add($"Error during backfill: {ex.Message}", Severity.Error);
}
finally
{
_isBackfilling = false;
StateHasChanged();
}
}
}