snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit 7fe866d60de77e1accf56afb14724bcd2a00992f
parent f28e52032215722dc6e0e3fe0543b9699d5a87bf
Author: default <nobody@localhost>
Date:   Thu,  7 Mar 2024 09:29:01 +0100

Returns empty anchors for hidden posts or muted actors.

This will help keeping the previous position after 'Hide' or 'MUTE'.

Diffstat:
Mhtml.c | 20++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/html.c b/html.c @@ -1324,8 +1324,14 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, return NULL; /* hidden? do nothing more for this conversation */ - if (user && is_hidden(user, id)) - return NULL; + if (user && is_hidden(user, id)) { + xs *s1 = xs_fmt("%s_entry", md5); + + /* return just an dummy anchor, to keep position after hitting 'Hide' */ + return xs_html_tag("div", + xs_html_tag("a", + xs_html_attr("name", s1))); + } /* avoid too deep nesting, as it may be a loop */ if (level >= 256) @@ -1356,8 +1362,14 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, return NULL; /* ignore muted morons immediately */ - if (user && is_muted(user, actor)) - return NULL; + if (user && is_muted(user, actor)) { + xs *s1 = xs_fmt("%s_entry", md5); + + /* return just an dummy anchor, to keep position after hitting 'MUTE' */ + return xs_html_tag("div", + xs_html_tag("a", + xs_html_attr("name", s1))); + } if ((user == NULL || strcmp(actor, user->actor) != 0) && !valid_status(actor_get(actor, NULL)))