From 4ab22b2c14cd0a94b05488d247b5669922415f5e Mon Sep 17 00:00:00 2001 From: default Date: Thu, 13 Jul 2023 23:41:22 +0200 Subject: [PATCH] If a Page has an image, show it as an attachment. --- html.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/html.c b/html.c index 9f587f1..5598a4f 100644 --- a/html.c +++ b/html.c @@ -1146,9 +1146,10 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local, s = xs_str_cat(s, "\n"); /* add the attachments */ - char *attach; + xs_list *attach = xs_dict_get(msg, "attachment"); + xs_dict *image = xs_dict_get(msg, "image"); - if ((attach = xs_dict_get(msg, "attachment")) != NULL) { /** **/ + if (!xs_is_null(attach) || !xs_is_null(image)) { /** **/ char *v; /* make custom css for attachments easier */ @@ -1173,7 +1174,8 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local, xs *es1 = encode_html(name); xs *s1 = xs_fmt( - "\"%s\"\n", + "" + "\"%s\"\n", url, url, es1, es1); s = xs_str_cat(s, s1); @@ -1239,6 +1241,24 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local, } } + /* if the message has an image, add it */ + if (!xs_is_null(image)) { + if (!xs_is_null(image = xs_dict_get(image, "url"))) { + xs *es1; + if (!xs_is_null(v = xs_dict_get(msg, "name"))) + es1 = encode_html(v); + else + es1 = xs_str_new(NULL); + + xs *s1 = xs_fmt( + "" + "\"%s\"\n", + image, image, es1, es1); + + s = xs_str_cat(s, s1); + } + } + s = xs_str_cat(s, "

\n"); }