snac2

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

commit 9612289477e3ec121d50f63a46a887c7e8118c2f
parent f767507896cce7c9beeb6b3505bd841e092e9e20
Author: default <nobody@localhost>
Date:   Sun, 30 Oct 2022 06:01:11 +0100

Added support for sensitive content.

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

diff --git a/html.c b/html.c @@ -444,6 +444,8 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, xs_set *seen, int local, i char *type = xs_dict_get(msg, "type"); char *meta = xs_dict_get(msg, "_snac"); char *actor; + int sensitive = 0; + char *v; /* do not show non-public messages in the public timeline */ if (local && !is_msg_public(snac, msg)) @@ -563,6 +565,17 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, xs_set *seen, int local, i /* add the content */ s = xs_str_cat(s, "<div class=\"e-content snac-content\">\n"); + /* is it sensitive? */ + if (!xs_is_null(v = xs_dict_get(msg, "sensitive")) && xs_type(v) == XSTYPE_TRUE) { + if (xs_is_null(v = xs_dict_get(msg, "summary")) || *v == '\0') + v = "..."; + + xs *s1 = xs_fmt("<details><summary>%s [%s]</summary>\n", v, L("SENSITIVE CONTENT")); + s = xs_str_cat(s, s1); + + sensitive = 1; + } + { xs *c = xs_dup(xs_dict_get(msg, "content")); char *p, *v; @@ -642,6 +655,9 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, xs_set *seen, int local, i } } + if (sensitive) + s = xs_str_cat(s, "</details><p>\n"); + s = xs_str_cat(s, "</div>\n"); /** controls **/