@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(); } } }