diff options
Diffstat (limited to 'views/catalog.html')
-rw-r--r-- | views/catalog.html | 109 |
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> |