summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/html.c b/html.c
index 3023fa0..4768699 100644
--- a/html.c
+++ b/html.c
@@ -2124,28 +2124,32 @@ xs_str *html_timeline(snac *user, const xs_list *list, int local,
s = xs_str_cat(s, "<!-- history disabled -->\n");
}
else {
- xs *s1 = xs_fmt(
- "<div class=\"snac-history\">\n"
- "<p class=\"snac-history-title\">%s</p><ul>\n",
- L("History")
- );
+ xs_html *ul = xs_html_tag("ul", NULL);
- s = xs_str_cat(s, s1);
+ xs_html *history = xs_html_tag("div",
+ xs_html_attr("class", "snac-history"),
+ xs_html_tag("p",
+ xs_html_attr("class", "snac-history-title"),
+ xs_html_text(L("History"))),
+ ul);
xs *list = history_list(user);
- char *p, *v;
+ xs_list *p = list;
+ char *v;
- p = list;
while (xs_list_iter(&p, &v)) {
- xs *fn = xs_replace(v, ".html", "");
- xs *s1 = xs_fmt(
- "<li><a href=\"%s/h/%s\">%s</a></li>\n",
- user->actor, v, fn);
+ xs *fn = xs_replace(v, ".html", "");
+ xs *url = xs_fmt("%s/h/%s", user->actor, v);
- s = xs_str_cat(s, s1);
+ xs_html_add(ul,
+ xs_html_tag("li",
+ xs_html_tag("a",
+ xs_html_attr("href", url),
+ xs_html_text(fn))));
}
- s = xs_str_cat(s, "</ul></div>\n");
+ xs *s1 = xs_html_render(history);
+ s = xs_str_cat(s, s1);
}
}