commit d106f86

default  ·  2024-02-14 21:56:56 +0000 UTC
parent f066ac6
Show validation checks and rel=me in links in the public page.
1 files changed,  +22, -4
M html.c
M html.c
+22, -4
 1@@ -767,16 +767,34 @@ static xs_html *html_user_body(snac *user, int local)
 2             xs_str *k;
 3             xs_str *v;
 4 
 5+            xs_dict *val_metadata = xs_dict_get(user->config, "validated_metadata");
 6+            if (xs_is_null(val_metadata))
 7+                val_metadata = xs_stock_dict;
 8+
 9             xs_html *snac_metadata = xs_html_tag("div",
10                 xs_html_attr("class", "snac-metadata"));
11 
12             while (xs_dict_iter(&metadata, &k, &v)) {
13                 xs_html *value;
14 
15-                if (xs_startswith(v, "https:/" "/"))
16-                    value = xs_html_tag("a",
17-                        xs_html_attr("href", v),
18-                        xs_html_text(v));
19+                if (xs_startswith(v, "https:/" "/")) {
20+                    /* is this link validated? */
21+                    char *val_date = xs_dict_get(val_metadata, v);
22+
23+                    if (!xs_is_null(val_date) && *val_date) {
24+                        value = xs_html_container(
25+                            xs_html_raw("✔ "),
26+                            xs_html_tag("a",
27+                                xs_html_attr("href", v),
28+                                xs_html_attr("rel", "me"),
29+                                xs_html_text(v)));
30+                    }
31+                    else {
32+                        value = xs_html_tag("a",
33+                            xs_html_attr("href", v),
34+                            xs_html_text(v));
35+                    }
36+                }
37                 else
38                     value = xs_html_text(v);
39