From 645a27d4eeb36041f4a0091307d8fdadbac97ea7 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 28 Nov 2023 10:35:57 +0100 Subject: Converted public user into to xs_html. --- html.c | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/html.c b/html.c index 95541d2..2fd0bbd 100644 --- a/html.c +++ b/html.c @@ -774,34 +774,50 @@ xs_str *html_user_header(snac *snac, xs_str *s, int local) xs *bio1 = not_really_markdown(es1, NULL); xs *tags = xs_list_new(); xs *bio2 = process_tags(snac, bio1, &tags); - xs *s1 = xs_fmt("
%s
\n", bio2); - s = xs_str_cat(s, s1); + xs_html *top_user_bio = xs_html_tag("div", + xs_html_attr("class", "p-note snac-top-user-bio"), + xs_html_raw(bio2)); /* already sanitized */ + + { + xs *s1 = xs_html_render(top_user_bio); + s = xs_str_cat(s, s1); + } xs_dict *metadata = xs_dict_get(snac->config, "metadata"); if (xs_type(metadata) == XSTYPE_DICT) { xs_str *k; xs_str *v; - s = xs_str_cat(s, "
\n"); + xs_html *snac_metadata = xs_html_tag("div", + xs_html_attr("class", "snac-metadata")); while (xs_dict_iter(&metadata, &k, &v)) { - xs *k2 = encode_html(k); - xs *v2 = encode_html(v); - xs *v3 = NULL; + xs_html *value; if (xs_startswith(v, "https:/" "/")) - v3 = xs_fmt("%s", v2, v2); + value = xs_html_tag("a", + xs_html_attr("href", v), + xs_html_text(v)); else - v3 = xs_dup(v2); - - xs *s1 = xs_fmt("%s:
" - "%s
\n", k2, v3); + value = xs_html_text(v); + + xs_html_add(snac_metadata, + xs_html_tag("span", + xs_html_attr("class", "snac-property-name"), + xs_html_text(k)), + xs_html_text(":"), + xs_html_sctag("br", NULL), + xs_html_tag("span", + xs_html_attr("class", "snac-property-value"), + value), + xs_html_sctag("br", NULL)); + } + { + xs *s1 = xs_html_render(snac_metadata); s = xs_str_cat(s, s1); } - - s = xs_str_cat(s, "
\n"); } } -- cgit v1.2.3