diff options
Diffstat (limited to 'Pages/ViewMedia.razor')
| -rw-r--r-- | Pages/ViewMedia.razor | 143 |
1 files changed, 78 insertions, 65 deletions
diff --git a/Pages/ViewMedia.razor b/Pages/ViewMedia.razor index 46cbc45..e210e79 100644 --- a/Pages/ViewMedia.razor +++ b/Pages/ViewMedia.razor @@ -1,11 +1,7 @@ @page "/ViewMedia" -@using HyperBooru.Util +@* @using HyperBooru.Util*@ +@inject HBSession hb @inject IJSRuntime jsRuntime -@inject IDbContextFactory<HBContext> dbFactory -@inject ITagService tagService -@inject IMediaService mediaService -@inject ISourceService sourceService -@attribute [Authorize] <PageTitle>@title</PageTitle> @@ -33,11 +29,14 @@ <div id="vcontainer"> <div id="hcontainer"> <div id="image-container" class="mobile-pane-image visible"> + <img src="/media/@(MediaId)"/> +@* <img src="/media/@(media.Guid)" width=@media.CurrentUploadedFile.Width height=@media.CurrentUploadedFile.Height/> - </div> +*@ + </div> <div id="metadata-show-button"> <a href="javascript:toggleSidebar();" title="Toggle sidebar (S)"></a> </div> @@ -45,6 +44,7 @@ <div id="metadata-container"> <div id="metadata-fileinfo"> @if(infoEditMode) { +@* <form action="javascript:;" @onsubmit=@(() => ApplyInfoEdit(true))> <table id="edit-metadata"> <tr> @@ -57,11 +57,13 @@ </tr> </table> </form> +*@ } else { - <p>Title: <i>@(media.ShortDescription ?? "None")</i></p> - <p class="newlines">Description:<br/><i>@(media.LongDescription ?? "None")</i></p> + <p>Title: <i>@(media?.ShortDescription ?? "None")</i></p> + <p class="newlines">Description:<br/><i>@(media?.LongDescription ?? "None")</i></p> } - <p>Resolution: @(media.CurrentUploadedFile.Width)x@(media.CurrentUploadedFile.Height)</p> +@* + <p>Resolution: @(media.CurrentUploadedFile.Width)x@(media.CurrentUploadedFile.Height)</p> <p class="heading">Upload history</p> <hr/> <table id="uploaded-files" class="data-table"> @@ -102,16 +104,18 @@ </tr> } </table> +*@ </div> <div id="metadata-tags"> <p class="heading">Tags</p> <hr/> - <MediaTagTable Media=media @ref=mediaTagTable/> + <MediaTagTable MediaId=MediaId @ref=mediaTagTable/> </div> </div> <div id="button-container"> <ButtonContainer> - <button @onclick=@(() => deleteDialog.Show()) class="warning" data-keyboard-shortcut="d"> +@* + <button @onclick=@(() => deleteDialog.Show()) class="warning" data-keyboard-shortcut="d"> <img src="/images/trash.svg"/> <p><u>D</u>elete</p> </button> @@ -123,8 +127,10 @@ <img src="/images/book.svg"/> <p>View <u>O</u>CR</p> </button> - @if(infoEditMode) { - <button @onclick=@(() => ApplyInfoEdit(false)) class="secondary"> +*@ + @if(infoEditMode) { +@* + <button @onclick=@(() => ApplyInfoEdit(false)) class="secondary"> <img src="/images/cross.svg"/> <p>Cancel</p> </button> @@ -132,23 +138,26 @@ <img src="/images/checkmark.svg"/> <p>Apply</p> </button> - } else { +*@ + } else { <button @onclick=@(() => InfoEditMode = true) class="secondary" data-keyboard-shortcut="e"> <img src="/images/edit.svg"/> <p><u>E</u>dit Info</p> </button> } - @if(media.IsIngest) { +@* + @if(media.IsIngest) { <button @onclick=@(() => SetIngest(false)) data-keyboard-shortcut="c"> <img src="/images/checkmark.svg"/> <p>Mark Tagging <u>C</u>omplete</p> </button> } else { - <button class="secondary" @onclick=@(() => SetIngest(true)) data-keyboard-shortcut="c"> +*@ + <button class="secondary" @onclick=@(() => SetIngest(true)) data-keyboard-shortcut="c"> <img src="/images/cross.svg"/> <p>Mark Tagging In<u>c</u>omplete</p> </button> - } + @* } *@ </ButtonContainer> </div> </div> @@ -159,6 +168,7 @@ </div> </div> +@* <Dialog Title="Delete this media?" @ref=deleteDialog> <ButtonContainer> <button @onclick=@(() => deleteDialog.Hide()) class="secondary">Cancel</button> @@ -181,56 +191,59 @@ Title="Select one or more tag(s) to add" OnSubmit=AddTags @ref=tagDialog/> +*@ @code { - [Parameter] - [SupplyParameterFromQuery(Name = "m")] - public Guid MediaId { get; set; } + [Parameter] + [SupplyParameterFromQuery(Name = "m")] + public Guid MediaId { get; set; } - private Media media; + private ApiModels.Media media; - private string title; + private string title; - private bool infoEditMode = false; - private string? shortDescription; - private string? longDescription; + private bool infoEditMode = false; + private string? shortDescription; + private string? longDescription; - private MediaTagTable mediaTagTable; - private Dialog deleteDialog; - private Dialog ocrDialog; - private TagSelectDialog tagDialog; + private MediaTagTable mediaTagTable; + // private Dialog deleteDialog; + // private Dialog ocrDialog; + // private TagSelectDialog tagDialog; - private ElementReference shortDescriptionInput; + private ElementReference shortDescriptionInput; - protected override void OnInitialized() => - LoadMedia(); + protected override void OnInitialized() => + LoadMedia(); - protected override async void OnAfterRender(bool firstRender) { - if(infoEditMode) - await shortDescriptionInput.FocusAsync(); - } + protected override async void OnAfterRender(bool firstRender) { + if(infoEditMode) + await shortDescriptionInput.FocusAsync(); + } - private void LoadMedia() { - using var db = dbFactory.CreateDbContext(); - media = db.Media - .Include(m => m.Tags) - .ThenInclude(t => t.TagDefinition) - .Include(m => m.CurrentUploadedFile) - .Include(m => m.UploadedFiles) - .Include(m => m.OcrData) - .First(m => m.Guid == MediaId); + private async void LoadMedia() { + media = await hb.Media.GetAsync(MediaId); + // using var db = dbFactory.CreateDbContext(); + // media = db.Media + // .Include(m => m.Tags) + // .ThenInclude(t => t.TagDefinition) + // .Include(m => m.CurrentUploadedFile) + // .Include(m => m.UploadedFiles) + // .Include(m => m.OcrData) + // .First(m => m.Guid == MediaId); - title = media.DisplayName ?? "Media View"; - } + // title = media.DisplayName ?? "Media View"; + // InvokeAsync(() => StateHasChanged()); + } - private void AddTags(TagDefinition[] tagDefs) { - foreach(var tagDef in tagDefs) - tagService.AddTag(media, tagDef); - mediaTagTable.Refresh(); - } + // private void AddTags(TagDefinition[] tagDefs) { + // foreach(var tagDef in tagDefs) + // tagService.AddTag(media, tagDef); + // mediaTagTable.Refresh(); + // } private async void SetIngest(bool ingest) { - mediaService.SetIngest(media, ingest); + // mediaService.SetIngest(media, ingest); LoadMedia(); if(ingest) @@ -249,17 +262,17 @@ } } - private void ApplyInfoEdit(bool apply) { - if(apply) { - mediaService.SetDescription(media, shortDescription, longDescription); - LoadMedia(); - } + // private void ApplyInfoEdit(bool apply) { + // if(apply) { + // mediaService.SetDescription(media, shortDescription, longDescription); + // LoadMedia(); + // } - infoEditMode = false; - } + // infoEditMode = false; + // } - private async void DeleteMedia() { - mediaService.Delete(media); - await jsRuntime.InvokeVoidAsync("history.back"); - } + // private async void DeleteMedia() { + // mediaService.Delete(media); + // await jsRuntime.InvokeVoidAsync("history.back"); + // } } |
