commit ae121bb

default  ·  2023-11-27 20:41:43 +0000 UTC
parent 2111886
More html_entry() refactoring.
1 files changed,  +27, -19
M html.c
M html.c
+27, -19
 1@@ -1020,7 +1020,7 @@ xs_html *html_top_controls(snac *snac)
 2                         xs_html_attr("name", "passwd2"),
 3                         xs_html_attr("value", ""))),
 4 
 5-                xs_html_tag("input",
 6+                xs_html_sctag("input",
 7                     xs_html_attr("type", "submit"),
 8                     xs_html_attr("class", "button"),
 9                     xs_html_attr("value", L("Update user info")))))));
10@@ -1354,13 +1354,15 @@ xs_str *html_entry(snac *user, xs_str *os, const xs_dict *msg, int local,
11 
12         if (user && xs_list_in(boosts, user->md5) != -1) {
13             /* we boosted this */
14-            xs *es1 = encode_html(xs_dict_get(user->config, "name"));
15-            xs *s1 = xs_fmt(
16-                "<div class=\"snac-origin\">"
17-                "<a href=\"%s\">%s</a> %s</div>",
18-                user->actor, es1, L("boosted")
19-            );
20+            xs_html *h = xs_html_tag("div",
21+                xs_html_attr("class", "snac-origin"),
22+                xs_html_tag("a",
23+                    xs_html_attr("href", user->actor),
24+                    xs_html_text(xs_dict_get(user->config, "name"))),
25+                    xs_html_text(" "),
26+                    xs_html_text(L("boosted")));
27 
28+            xs *s1 = xs_html_render(h);
29             s = xs_str_cat(s, s1);
30         }
31         else
32@@ -1368,13 +1370,15 @@ xs_str *html_entry(snac *user, xs_str *os, const xs_dict *msg, int local,
33             xs *name = actor_name(actor_r);
34 
35             if (!xs_is_null(name)) {
36-                xs *s1 = xs_fmt(
37-                    "<div class=\"snac-origin\">"
38-                    "<a href=\"%s\">%s</a> %s</div>\n",
39-                    xs_dict_get(actor_r, "id"),
40-                    name,
41-                    L("boosted")
42-                );
43+                xs_html *h = xs_html_tag("div",
44+                    xs_html_attr("class", "snac-origin"),
45+                    xs_html_tag("a",
46+                        xs_html_attr("href", xs_dict_get(actor_r, "id")),
47+                        xs_html_text(name)),
48+                        xs_html_text(" "),
49+                        xs_html_text(L("boosted")));
50+
51+                xs *s1 = xs_html_render(h);
52 
53                 s = xs_str_cat(s, s1);
54             }
55@@ -1387,11 +1391,15 @@ xs_str *html_entry(snac *user, xs_str *os, const xs_dict *msg, int local,
56             char *parent = xs_dict_get(msg, "inReplyTo");
57 
58             if (user && !xs_is_null(parent) && *parent && !timeline_here(user, parent)) {
59-                xs *s1 = xs_fmt(
60-                    "<div class=\"snac-origin\">%s "
61-                    "<a href=\"%s\">»</a></div>\n",
62-                    L("in reply to"), parent
63-                );
64+                xs_html *h = xs_html_tag("div",
65+                    xs_html_attr("class", "snac-origin"),
66+                    xs_html_text(L("in reply to")),
67+                    xs_html_text(" "),
68+                    xs_html_tag("a",
69+                        xs_html_attr("href", parent),
70+                        xs_html_text("»")));
71+
72+                xs *s1 = xs_html_render(h);
73 
74                 s = xs_str_cat(s, s1);
75             }