commit 230a548
default
·
2023-11-28 19:55:58 +0000 UTC
parent 89b796f
html_entry() returns an xs_html.
1 files changed,
+17,
-13
M
html.c
M
html.c
+17,
-13
1@@ -1430,7 +1430,7 @@ xs_html *html_entry_controls(snac *snac, const xs_dict *msg, const char *md5)
2 }
3
4
5-xs_str *html_entry(snac *user, xs_dict *msg, int local,
6+xs_html *html_entry(snac *user, xs_dict *msg, int local,
7 int level, char *md5, int hide_children)
8 {
9 char *id = xs_dict_get(msg, "id");
10@@ -1452,7 +1452,7 @@ xs_str *html_entry(snac *user, xs_dict *msg, int local,
11 return NULL;
12
13 if (strcmp(type, "Follow") == 0) {
14- xs_html *h = xs_html_tag("div",
15+ return xs_html_tag("div",
16 xs_html_attr("class", "snac-post"),
17 xs_html_tag("div",
18 xs_html_attr("class", "snac-post-header"),
19@@ -1460,8 +1460,6 @@ xs_str *html_entry(snac *user, xs_dict *msg, int local,
20 xs_html_attr("class", "snac-origin"),
21 xs_html_text(L("follows you"))),
22 html_msg_icon(msg)));
23-
24- return xs_html_render(h);
25 }
26 else
27 if (!xs_match(type, "Note|Question|Page|Article")) {
28@@ -2017,15 +2015,15 @@ xs_str *html_entry(snac *user, xs_dict *msg, int local,
29 object_get_by_md5(cmd5, &chd);
30
31 if (chd != NULL && xs_is_null(xs_dict_get(chd, "name"))) {
32- xs *s1 = html_entry(user, chd, local, level + 1, cmd5, hide_children);
33+ xs_html *che = html_entry(user, chd, local, level + 1, cmd5, hide_children);
34
35- if (s1 != NULL) {
36+ if (che != NULL) {
37 if (left > 3)
38 xs_html_add(ch_older,
39- xs_html_raw(s1));
40+ che);
41 else
42 xs_html_add(ch_container,
43- xs_html_raw(s1));
44+ che);
45 }
46 }
47 else
48@@ -2036,7 +2034,7 @@ xs_str *html_entry(snac *user, xs_dict *msg, int local,
49 }
50 }
51
52- return xs_html_render(entry_top);
53+ return entry_top;
54 }
55
56
57@@ -2111,8 +2109,12 @@ xs_str *html_timeline(snac *user, const xs_list *list, int local,
58 continue;
59 }
60
61- xs *s1 = html_entry(user, msg, local, 0, v, user ? 0 : 1);
62- s = xs_str_cat(s, s1);
63+ xs_html *entry = html_entry(user, msg, local, 0, v, user ? 0 : 1);
64+
65+ if (entry != NULL) {
66+ xs *s1 = xs_html_render(entry);
67+ s = xs_str_cat(s, s1);
68+ }
69 }
70
71 s = xs_str_cat(s, "</div>\n");
72@@ -2435,10 +2437,12 @@ xs_str *html_notifications(snac *snac)
73 else {
74 xs *md5 = xs_md5_hex(id, strlen(id));
75
76- xs *s1 = html_entry(snac, obj, 0, 0, md5, 1);
77+ xs_html *entry = html_entry(snac, obj, 0, 0, md5, 1);
78
79- if (s1 != NULL)
80+ if (entry != NULL) {
81+ xs *s1 = xs_html_render(entry);
82 s = xs_str_cat(s, s1);
83+ }
84 }
85
86 s = xs_str_cat(s, "</div>\n");