From 2111886448db2e5685c95156f9045916e33e9400 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 27 Nov 2023 21:28:27 +0100 Subject: [PATCH] Some html_entry() refactoring. --- html.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/html.c b/html.c index 3fbf545..d6b14a4 100644 --- a/html.c +++ b/html.c @@ -1298,23 +1298,32 @@ xs_str *html_entry(snac *user, xs_str *os, const xs_dict *msg, int local, else s = xs_str_cat(s, "
\n"); /** **/ - s = xs_str_cat(s, "
\n
"); /** **/ + s = xs_str_cat(s, "
\n"); /** **/ + + xs_html *score = xs_html_tag("div", + xs_html_attr("class", "snac-score")); if (user && is_pinned(user, id)) { /* add a pin emoji */ - xs *f = xs_fmt(" 📌 ", L("Pinned")); - s = xs_str_cat(s, f); + xs_html_add(score, + xs_html_tag("span", + xs_html_attr("title", L("Pinned")), + xs_html_raw(" 📌 "))); } if (strcmp(type, "Question") == 0) { /* add the ballot box emoji */ - xs *f = xs_fmt(" 🗳 ", L("Poll")); - s = xs_str_cat(s, f); + xs_html_add(score, + xs_html_tag("span", + xs_html_attr("title", L("Poll")), + xs_html_raw(" 🗳 "))); if (user && was_question_voted(user, id)) { /* add a check to show this poll was voted */ - xs *f2 = xs_fmt("", L("Voted")); - s = xs_str_cat(s, f2); + xs_html_add(score, + xs_html_tag("span", + xs_html_attr("title", L("Voted")), + xs_html_raw(" ✓ "))); } } @@ -1324,13 +1333,16 @@ xs_str *html_entry(snac *user, xs_str *os, const xs_dict *msg, int local, int n_boosts = object_announces_len(id); /* alternate emojis: %d 👍 %d 🔁 */ - xs *s1 = xs_fmt("%d ★ %d ↺\n", n_likes, n_boosts); - s = xs_str_cat(s, s1); + xs_html_add(score, + xs_html_raw(s1)); } - s = xs_str_cat(s, "
\n"); + { + xs *s1 = xs_html_render(score); + s = xs_str_cat(s, s1); + } if (boosts == NULL) boosts = object_announces(id);