From 9f4033649a53222b0543343fc02b0c74a72235b4 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Sun, 29 Mar 2026 05:57:43 +1100 Subject: v0.4a --- Pages/Component/AboutDialog.razor | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'Pages/Component/AboutDialog.razor') diff --git a/Pages/Component/AboutDialog.razor b/Pages/Component/AboutDialog.razor index 9ffbad4..1229dc7 100644 --- a/Pages/Component/AboutDialog.razor +++ b/Pages/Component/AboutDialog.razor @@ -1,5 +1,6 @@ @using System.Reflection @using Microsoft.AspNetCore.Hosting +@inject IDbContextFactory dbFactory @inject IHostingEnvironment hostingEnvironment @implements IDialog @@ -672,6 +673,15 @@ <https://www.gnu.org/licenses/>. Source +
+ @if(progress.HasValue) { + var untagged = progress.Value.Untagged.ToString("N0"); + var total = progress.Value.Total.ToString("N0"); + var percent = (progress.Value.Untagged * 100f / progress.Value.Total).ToString("f1"); +

Untagged: @($"{untagged}/{total} ({percent}%)")

+ } + +
@@ -680,9 +690,26 @@ @code { private Dialog dialog; + private ProgressBar progressBar; + + private (long Untagged, long Total)? progress; + public bool Visible { get => dialog.Visible; - set => dialog.Visible = value; + set { + dialog.Visible = value; + if(value) { + using var db = dbFactory.CreateDbContext(); + progress = ( + Untagged: db.Media + .Where(m => m.Tags.Any(t => t.TagDefinition.ObjectId == (int) HBObjectId.IngestTag)) + .Count(), + Total: db.Media.Count() + ); + progressBar.Progress = (float) progress.Value!.Untagged / (float) progress.Value!.Total; + InvokeAsync(() => StateHasChanged()); + } + } } public void Show() => Visible = true; -- cgit v1.3