commit a6da1fd

default  ·  2023-11-29 08:49:48 +0000 UTC
parent 593475f
History in html_timeline() uses xs_html.
1 files changed,  +18, -14
M html.c
M html.c
+18, -14
 1@@ -2124,28 +2124,32 @@ xs_str *html_timeline(snac *user, const xs_list *list, int local,
 2             s = xs_str_cat(s, "<!-- history disabled -->\n");
 3         }
 4         else {
 5-            xs *s1 = xs_fmt(
 6-                "<div class=\"snac-history\">\n"
 7-                "<p class=\"snac-history-title\">%s</p><ul>\n",
 8-                L("History")
 9-            );
10+            xs_html *ul = xs_html_tag("ul", NULL);
11 
12-            s = xs_str_cat(s, s1);
13+            xs_html *history = xs_html_tag("div",
14+                xs_html_attr("class", "snac-history"),
15+                xs_html_tag("p",
16+                    xs_html_attr("class", "snac-history-title"),
17+                    xs_html_text(L("History"))),
18+                    ul);
19 
20             xs *list = history_list(user);
21-            char *p, *v;
22+            xs_list *p = list;
23+            char *v;
24 
25-            p = list;
26             while (xs_list_iter(&p, &v)) {
27-                xs *fn = xs_replace(v, ".html", "");
28-                xs *s1 = xs_fmt(
29-                        "<li><a href=\"%s/h/%s\">%s</a></li>\n",
30-                        user->actor, v, fn);
31+                xs *fn  = xs_replace(v, ".html", "");
32+                xs *url = xs_fmt("%s/h/%s", user->actor, v);
33 
34-                s = xs_str_cat(s, s1);
35+                xs_html_add(ul,
36+                    xs_html_tag("li",
37+                        xs_html_tag("a",
38+                            xs_html_attr("href", url),
39+                            xs_html_text(fn))));
40             }
41 
42-            s = xs_str_cat(s, "</ul></div>\n");
43+            xs *s1 = xs_html_render(history);
44+            s = xs_str_cat(s, s1);
45         }
46     }
47