summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2023-07-13 22:10:29 +0200
committerdefault <nobody@localhost>2023-07-13 22:10:29 +0200
commitc4bb189d99d5134ae11d79e5d5706d488a80ef41 (patch)
tree20c014b690a174a7845541eb354e612767dbec8f
parent8d7f3290079be47e6da03f03c66c05cf43e8bcf1 (diff)
Added support for lemmy-style "Link" attachments.
-rw-r--r--html.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/html.c b/html.c
index d74c44d..71d6e5b 100644
--- a/html.c
+++ b/html.c
@@ -1155,7 +1155,10 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local,
s = xs_str_cat(s, "<p class=\"snac-content-attachments\">\n");
while (xs_list_iter(&attach, &v)) {
- char *t = xs_dict_get(v, "mediaType");
+ const char *t = xs_dict_get(v, "mediaType");
+
+ if (xs_is_null(t))
+ t = xs_dict_get(v, "type");
if (xs_is_null(t))
continue;
@@ -1210,6 +1213,16 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local,
s = xs_str_cat(s, s1);
}
}
+ else
+ if (strcmp(t, "Link") == 0) {
+ const char *url = xs_dict_get(v, "href");
+
+ if (!xs_is_null(url)) {
+ xs *es1 = encode_html(url);
+ xs *s1 = xs_fmt("<p><a href=\"%s\">%s</p>", url, es1);
+ s = xs_str_cat(s, s1);
+ }
+ }
else {
char *url = xs_dict_get(v, "url");
char *name = xs_dict_get(v, "name");