diff options
Diffstat (limited to 'Pages/ViewMedia.cshtml')
| -rw-r--r-- | Pages/ViewMedia.cshtml | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Pages/ViewMedia.cshtml b/Pages/ViewMedia.cshtml new file mode 100644 index 0000000..078ac8f --- /dev/null +++ b/Pages/ViewMedia.cshtml @@ -0,0 +1,78 @@ +@page +@model HyperBooru.Pages.ViewMediaModel +@{ + ViewBag.ContentScroll = false; +} + +<link rel="stylesheet" type="text/css" href="@(nameof(HyperBooru)).styles.css"/> + +<script> + async function deleteMedia() { + var mediaId = new URL(window.location.href).searchParams.get('m'); + var resp = await fetch('/media/' + mediaId, { method: 'delete' }); + if(resp.ok) { + window.location.href = '/'; + } else { + alert('Failed to delete media object!'); + } + } + + function selectPane(tab) { + var tabs = Array.from(document.querySelectorAll('div#metadata-header > a')); + + var panes = Array.from(document.querySelectorAll('div#metadata > div')) + .filter(x => x.id != 'metadata-header'); + var pane = panes.filter(x => x.id == tab.dataset.pane)[0]; + + for(var t of tabs) { + if(t == tab) + t.classList.add('selected'); + else + t.classList.remove('selected'); + } + + for(var p of panes) { + if(p == pane) + p.classList.add('selected'); + else + p.classList.remove('selected'); + } + } +</script> + +<div id="content"> + <img src="/media/@(Model.Media.Guid)"/> + <div id="metadata"> + <div id="metadata-header"> + <a href="javascript:;" onclick="selectPane(this);" data-pane="metadata-fileinfo" class="selected">File Info</a> + <a href="javascript:;" onclick="selectPane(this);" data-pane="metadata-tags">Tags</a> + </div> +@* <form method="post"> + <label for="shortDescription">Short Description</label> + <input type="text" name="shortDescription" placeholder="@Model.Media.ShortDescription"/> + <label for="longDescription">Long Description</label> + <input type="text" name="longDescription" placeholder="@Model.Media.LongDescription"/> + <input type="submit" value="Update"/> + </form>*@ + <div id="metadata-fileinfo" class="selected"> + <table> + <tr> + <th>Created On</th> + <th>Last Write</th> + <th>Uploaded On</th> + <th>Filename</th> + <th>Checksum</th> + </tr> + @foreach(var file in Model.Media.UploadedFiles) { + <tr> + <td>@file.CreateTime</td> + <td>@file.LastWriteTime</td> + <td>@file.UploadTime</td> + <td>@file.Filename</td> + <td>@file.OriginalChecksum</td> + </tr> + } + </table> + </div> + </div> +</div>
\ No newline at end of file |
