summaryrefslogtreecommitdiff
path: root/Pages/ViewMedia.razor
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2023-08-16 14:19:33 +1000
committerJake Mannens <jake@asger.xyz>2025-08-18 10:59:32 +1000
commitacd4ca24259da98839847130bf34a27d10b0cf9f (patch)
treea493ec45586f4b80e4125a066e842b8e86546341 /Pages/ViewMedia.razor
parent38c60cee378b9c2ad42fc9dc79bc492b919a68f5 (diff)
Fixed most existing dialogs
Diffstat (limited to 'Pages/ViewMedia.razor')
-rw-r--r--Pages/ViewMedia.razor21
1 files changed, 18 insertions, 3 deletions
diff --git a/Pages/ViewMedia.razor b/Pages/ViewMedia.razor
index 8436159..68cc313 100644
--- a/Pages/ViewMedia.razor
+++ b/Pages/ViewMedia.razor
@@ -1,6 +1,7 @@
@page "/ViewMedia"
@inject IDbContextFactory<HBContext> dbFactory
@inject ITagService tagService
+@implements IDisposable
<PageTitle>@title</PageTitle>
@@ -14,7 +15,7 @@
<div id="metadata-fileinfo">
<p>Title: <i>@(@media.ShortDescription ?? "None")</i></p>
<p>Description: <i>@(media.LongDescription ?? "None")</i></p>
- <p>Upload history</p>
+ <p id="metadata-uploadhistory">Upload history</p>
<hr />
<table class="data-table">
<tr>
@@ -84,9 +85,11 @@
private TagSelectDialog tagDialog;
private MediaTagTable mediaTagTable;
+ private HBContext db;
+
protected override void OnInitialized() {
- using var db = dbFactory.CreateDbContext();
- media = db.Media.AsNoTracking().First(m => m.Guid == MediaId);
+ db = dbFactory.CreateDbContext();
+ media = db.Media.First(m => m.Guid == MediaId);
if(media is null)
throw new ArgumentException("Media not found!");
@@ -101,6 +104,18 @@
}
private void SetIngest(bool ingest) {
+ var ingestTag = db.TagDefinitions
+ .First(td => td.Source == TagSource.Internal && td.Name == "ingest");
+
+ if(!ingest)
+ media.Tags.RemoveAll(t => t.TagDefinition.Guid == ingestTag.Guid);
+ else
+ if(!media.IsIngest)
+ media.Tags.Add(new(ingestTag));
+
+ db.SaveChanges();
StateHasChanged();
}
+
+ public void Dispose() => db.Dispose();
}