# HG changeset patch # User Ted Unangst # Date 1716865893 14400 # Mon May 27 23:11:33 2024 -0400 # Node ID 42f5fb0ef40741b91af64dca70ec1a39c5d0cbad # Parent 441ea5b8644040fb33c804eb0bd33cbd254e1251 try anchoring specific post in threads diff --git a/honk.go b/honk.go --- a/honk.go +++ b/honk.go @@ -200,6 +200,10 @@ return honk.Flags&flagIsReacted != 0 } +func (honk *Honk) ShortXID() string { + return shortxid(honk.XID) +} + type Donk struct { FileID int64 XID string diff --git a/views/honk.html b/views/honk.html --- a/views/honk.html +++ b/views/honk.html @@ -1,4 +1,4 @@ -
+
{{ $bonkcsrf := .BonkCSRF }} {{ $IsPreview := .IsPreview }} {{ $maplink := .MapLink }} @@ -47,7 +47,7 @@ {{ end }}
{{ if $bonkcsrf }} -convoy: {{ .Convoy }} +convoy: {{ .Convoy }} {{ end }}

diff --git a/views/honkpage.js b/views/honkpage.js --- a/views/honkpage.js +++ b/views/honkpage.js @@ -194,7 +194,7 @@ } switchtopage(data.name, data.arg) } -function switchtopage(name, arg) { +function switchtopage(name, arg, anchor) { var stash = curpagestate.name + ":" + curpagestate.arg var honksonpage = document.getElementById("honksonpage") var holder = honksonpage.children[0] @@ -220,6 +220,10 @@ if (msg) { srvel.prepend(msg) } + if (anchor) { + let el = document.getElementById(anchor) + el.scrollIntoView() + } } else { // or create one and fill it honksonpage.prepend(document.createElement("div")) @@ -227,6 +231,10 @@ get("/hydra?" + encode(args), function(xhr) { if (xhr.status == 200) { fillinhonks(xhr, false) + if (anchor) { + let el = document.getElementById(anchor) + el.scrollIntoView() + } } else { refreshupdate(" status: " + xhr.status) } @@ -246,11 +254,14 @@ if (name == curpagestate.name && arg == curpagestate.arg) { return false } - switchtopage(name, arg) - var url = evt.srcElement.href - if (!url) { + let url = evt.srcElement.href + if (!url) url = evt.srcElement.parentElement.href - } + let anchor + let arr = url.split("#") + if (arr.length == 2) + anchor = arr[1] + switchtopage(name, arg, anchor) history.pushState(newpagestate(name, arg), "some title", url) window.scrollTo(0, 0) return false