Parcourir la source

Returns empty anchors for hidden posts or muted actors.

This will help keeping the previous position after 'Hide' or 'MUTE'.
default il y a 2 ans
Parent
commit
7fe866d60d
1 fichiers modifiés avec 16 ajouts et 4 suppressions
  1. 16 4
      html.c

+ 16 - 4
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)))