summaryrefslogtreecommitdiff
path: root/Pages/Component/AboutDialog.razor
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-05-25 01:06:59 +1000
committerJake Mannens <jake@asger.xyz>2026-06-11 01:13:32 +1000
commita932b1bcb946bd70a5eb3e8fe1857fb74210a76b (patch)
treec3377cb963026e68bd29e34a21a6d319f378dee7 /Pages/Component/AboutDialog.razor
parent96d44f2947fd3ebef78411f65b09bbd2110d215f (diff)
Re-implemented existing features via the API
Diffstat (limited to 'Pages/Component/AboutDialog.razor')
-rw-r--r--Pages/Component/AboutDialog.razor44
1 files changed, 21 insertions, 23 deletions
diff --git a/Pages/Component/AboutDialog.razor b/Pages/Component/AboutDialog.razor
index fa7b1ca..888040e 100644
--- a/Pages/Component/AboutDialog.razor
+++ b/Pages/Component/AboutDialog.razor
@@ -1,9 +1,7 @@
-@using System.Reflection
-@*
- * @using Microsoft.AspNetCore.Hosting
- * @inject IDbContextFactory<HBContext> dbFactory
- * @inject IHostingEnvironment hostingEnvironment
- *@
+@using Microsoft.AspNetCore.Components.WebAssembly.Hosting
+@using System.Reflection
+@inject IWebAssemblyHostEnvironment hostEnvironment
+@inject HBSession hb
@implements IDialog
<Dialog @ref=dialog>
@@ -676,10 +674,11 @@
</div>
<a href="https://gitlab.com/plasmicplexus/HyperBooru-Server" target="_blank">Source</a>
<div id="progressContainer">
- @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");
+ @if(ingestStatistics is not null) {
+ var untagged = ingestStatistics.UntaggedMediaCount.ToString("N0");
+ var total = ingestStatistics.TotalMediaCount.ToString("N0");
+ var percent =
+ (ingestStatistics.UntaggedMediaCount * 100f / ingestStatistics.TotalMediaCount).ToString("f1");
<p id="progress">Untagged: @($"{untagged}/{total} ({percent}%)")</p>
}
<ProgressBar @ref=progressBar />
@@ -694,23 +693,15 @@
private ProgressBar progressBar;
- private (long Untagged, long Total)? progress;
+ private IngestStatistics? ingestStatistics;
public bool Visible {
get => dialog.Visible;
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());
- }
+ InvokeAsync(() => StateHasChanged());
+ if(value)
+ LoadProgressAsync();
}
}
@@ -731,8 +722,15 @@
#if DEBUG
return "(Development)";
#else
- return hostingEnvironment.IsDevelopment() ? "(Development)" : null;
+ return hostEnvironment.IsDevelopment() ? "(Development)" : null;
#endif
}
}
+
+ private async void LoadProgressAsync() {
+ ingestStatistics = await hb.Statistics.GetIngestStatisticsAsync();
+ progressBar.Progress =
+ (float) ingestStatistics.UntaggedMediaCount / (float) ingestStatistics.TotalMediaCount;
+ await InvokeAsync(() => StateHasChanged());
+ }
}