summaryrefslogtreecommitdiff
path: root/Pages/ViewMedia.cshtml
diff options
context:
space:
mode:
Diffstat (limited to 'Pages/ViewMedia.cshtml')
-rw-r--r--Pages/ViewMedia.cshtml88
1 files changed, 88 insertions, 0 deletions
diff --git a/Pages/ViewMedia.cshtml b/Pages/ViewMedia.cshtml
new file mode 100644
index 0000000..967759b
--- /dev/null
+++ b/Pages/ViewMedia.cshtml
@@ -0,0 +1,88 @@
+@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">File Info</a>
+ <a href="javascript:;" onclick="selectPane(this);" data-pane="metadata-tags" class="selected">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">
+ <p>Upload history</p>
+ <hr />
+ <table class="data-table">
+ <tr>
+ <th>Created On</th>
+ <th>Last Write</th>
+ <th>Uploaded On</th>
+ <th>Filename</th>
+ <th>Original Checksum</th>
+ </tr>
+ @foreach(var file in Model.Media.UploadedFiles) {
+ <tr>
+ <td>@(file.CreateTime?.ToString() ?? "N/A")</td>
+ <td>@(file.LastWriteTime?.ToString() ?? "N/A")</td>
+ <td>@file.UploadTime</td>
+ <td>@file.Filename</td>
+ <td>@file.OriginalChecksum</td>
+ </tr>
+ }
+ </table>
+ </div>
+ <div id="metadata-tags" class="selected">
+ <table class="data-table">
+ <tr>
+ <th>Tag Name</th>
+ </tr>
+ </table>
+ <button>Add Tag</button>
+ </div>
+ </div>
+</div> \ No newline at end of file