aboutsummaryrefslogtreecommitdiff
path: root/views/catalog.html
diff options
context:
space:
mode:
authorFChannel <>2022-04-24 00:46:49 -0700
committerFChannel <>2022-06-19 12:53:29 -0700
commit3db517715bef6a53225c5c3c06e8fc5fd0bf71e3 (patch)
tree9aa7fbcb12f2ec8d0e4e66cd85ace058e38dd32d /views/catalog.html
parent9718d34a757b66917747c1c4acfb9b35d154625b (diff)
basic pass over view posts, post, catalog and manage page connections
Diffstat (limited to 'views/catalog.html')
-rw-r--r--views/catalog.html109
1 files changed, 109 insertions, 0 deletions
diff --git a/views/catalog.html b/views/catalog.html
new file mode 100644
index 0000000..c70471e
--- /dev/null
+++ b/views/catalog.html
@@ -0,0 +1,109 @@
+{{ define "header" }}
+<title>/{{ .page.Board.Name }}/ - catalog</title>
+<meta name="description" content="{{ .page.Board.Summary }}">
+<meta property="og:url" content="{{ .page.Board.Actor.Id }}">
+<meta property="og:site_name" content="{{ .page.Instance.PreferredUsername }}" />
+
+<meta property="og:title" content="{{ .page.Title }}">
+<meta property="og:description" content="{{ .page.Board.Summary }}">
+
+<meta name="twitter:title" content="{{ .page.Title }}">
+<meta name="twitter:description" content="{{ .page.Board.Summary }}">
+<meta name="twitter:card" content="summary_large_image">
+
+<script src="/static/js/posts.js"></script>
+{{ end }}
+
+{{ $board := .page.Board }}
+<hr>
+
+<ul id="navlinks">
+ <li>[<a href="/{{ $board.Name }}/">Return</a>]</li>
+ <!-- TODO: Implement showArchive -->
+ <!-- \{\{ if showArchive }} -->
+ <!-- <li>[<a href="/{{ $board.Name }}/archive">Archive</a>]</li> -->
+ <!-- \{\{ end }} -->
+ <li>[<a href="#bottom">Bottom</a>]</li>
+ <li>[<a href="javascript:location.reload()">Refresh</a>]</li>
+</ul>
+
+<hr>
+
+<div style="padding: 10px; text-align: center;">
+ {{ range .page.Posts }}
+ <div style="overflow: hidden; vertical-align: top; padding-right: 24px; padding-bottom: 24px; display: inline-block; width: 180px; max-height: 320px; margin-bottom: 10px;">
+ {{ if eq $board.ModCred $board.Domain $board.Actor.Id }}
+ [<a href="/delete?id={{ .Id }}&board={{ $board.Actor.Name }}">Delete Post</a>]
+ {{ end }}
+ {{ if .Attachment }}
+ {{ if eq $board.ModCred $board.Domain $board.Actor.Id }}
+ [<a href="/deleteattach?id={{ .Id }}&board={{ $board.Actor.Name }}">Delete Attachment</a>]
+ [<a href="/marksensitive?id={{ .Id }}&board={{ $board.Actor.Name }}">Mark Sensitive</a>]
+ {{ end }}
+ <div id="hide-{{ .Id }}" style="display: none;">[Hide]</div>
+ <div id="sensitive-{{ .Id }}" style="display: none;">
+ <div style="position: relative; text-align: center;">
+ <img id="sensitive-img-{{ .Id }}" style="float: left; margin-right: 10px; margin-bottom: 10px; max-width: 180px; max-height: 180px;" src="/static/sensitive.png">
+ <div id="sensitive-text-{{ .Id }}" style="width: 170px; position: absolute; margin-top: 75px; padding: 5px; background-color: black; color: white; cursor: default; ">NSFW Content</div>
+ </div>
+ </div>
+ <a id="{{ .Id }}-anchor" href="/{{ $board.Name }}/{{ shortURL $board.Actor.Outbox .Id}}">
+ <div id="media-{{ .Id }}" style="width:180px;"> {{ parseAttachment . true }}</div>
+ </a>
+ <script>
+ media = document.getElementById("media-{{ .Id }}")
+
+ if(({{ .Sensitive }} && {{ $board.Actor.Restricted }}) || ({{ isOnion .Id }} && !{{ isOnion $board.Domain }})){
+ sensitive = document.getElementById("sensitive-{{ .Id }}")
+ hide = document.getElementById("hide-{{ .Id }}")
+ sensitive.onclick = function(){document.getElementById("media-{{ .Id }}").style="display: block;"; document.getElementById("sensitive-{{ .Id }}").style="display: none;"; document.getElementById("hide-{{ .Id }}").style="display: block; cursor: pointer;"}
+ hide.onclick = function(){document.getElementById("media-{{ .Id }}").style="display: none;"; document.getElementById("sensitive-{{ .Id }}").style="display: block;"; document.getElementById("hide-{{ .Id }}").style="display: none;"}
+ sensitive.style = "display: block"
+ media.style = "display: none;"
+ }
+
+ if({{ isOnion .Id }} && !{{ isOnion $board.Domain }}) {
+ sensitive = document.getElementById("sensitive-{{ .Id }}")
+ document.getElementById("sensitive-img-{{ .Id }}").src = "/static/onion.png"
+ document.getElementById("sensitive-text-{{ .Id }}").innerText = "Tor Instance"
+ hide = document.getElementById("hide-{{ .Id }}")
+ sensitive.onclick = function(){document.getElementById("media-{{ .Id }}").style="display: block;"; document.getElementById("sensitive-{{ .Id }}").style="display: none;"; document.getElementById("hide-{{ .Id }}").style="display: block; cursor: pointer;"}
+ hide.onclick = function(){document.getElementById("media-{{ .Id }}").style="display: none;"; document.getElementById("sensitive-{{ .Id }}").style="display: block;"; document.getElementById("hide-{{ .Id }}").style="display: none;"}
+ sensitive.style = "display: block"
+ media.style = "display: none;"
+ }
+ </script>
+ {{ end }}
+ <a style="color: unset;" id="{{ .Id }}-link" href="/{{ $board.Name }}/{{ shortURL $board.Actor.Outbox .Id }}">
+ <div style="display: block;">
+ {{ $replies := .Replies }}
+ {{ if $replies }}
+ <span>R: {{ $replies.TotalItems }}{{ if $replies.TotalImgs }}/ A: {{ $replies.TotalImgs }}{{ end }}</span>
+ {{ end }}
+ {{ if .Name }}
+ <br>
+ <span class="subject"><b>{{ .Name }}</b></span>
+ {{ end }}
+
+ {{ if .Content }}
+ <br>
+ <span>{{.Content}}</span>
+ {{ end }}
+ </div>
+ </a>
+ </div>
+ {{ end }}
+</div>
+<hr>
+
+<ul id="navlinks">
+ <li>[<a href="/{{ $board.Name }}/">Return</a>]</li>
+ <!-- TODO: Implement showArchive -->
+ <!-- \{\{ if showArchive }} -->
+ <!-- <li>[<a href="/{{ $board.Name }}/archive">Archive</a>]</li> -->
+ <!-- \{\{ end }} -->
+ <li>[<a href="#top">Top</a>]</li>
+ <li>[<a href="javascript:location.reload()">Refresh</a>]</li>
+</ul>
+
+<hr>