commit 86c27db43533c14c405caf39be4bd9c0cbd706f8
parent 8be7c4927fa8e7c1e92135a669110eec6e38b7e2
Author: default <nobody@localhost>
Date: Thu, 29 Sep 2022 10:18:28 +0200
More HTML work.
Diffstat:
M | html.c | | | 60 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 60 insertions(+), 0 deletions(-)
diff --git a/html.c b/html.c
@@ -375,6 +375,7 @@ d_char *html_entry_controls(snac *snac, d_char *os, char *msg)
{
char *id = xs_dict_get(msg, "id");
char *actor = xs_dict_get(msg, "attributedTo");
+ char *meta = xs_dict_get(msg, "_snac");
xs *s = xs_str_new(NULL);
xs *md5 = xs_md5_hex(id, strlen(id));
@@ -404,6 +405,63 @@ d_char *html_entry_controls(snac *snac, d_char *os, char *msg)
if (strcmp(actor, snac->actor) != 0) {
/* controls for other actors than this one */
+ char *l;
+
+ l = xs_dict_get(meta, "liked_by");
+ if (xs_list_in(l, snac->actor) == -1) {
+ /* not already liked; add button */
+ xs *s1 = xs_fmt(
+ "<input type=\"submit\" name=\"action\" "
+ "class=\"snac-btn-like\" value=\"%s\">\n",
+ L("Like")
+ );
+
+ s = xs_str_cat(s, s1);
+ }
+
+ l = xs_dict_get(meta, "announced_by");
+ if (xs_list_in(l, snac->actor) == -1) {
+ /* not already boosted; add button */
+ xs *s1 = xs_fmt(
+ "<input type=\"submit\" name=\"action\" "
+ "class=\"snac-btn-boost\" value=\"%s\">\n",
+ L("Boost")
+ );
+
+ s = xs_str_cat(s, s1);
+ }
+
+ if (following_check(snac, actor)) {
+ xs *s1 = xs_fmt(
+ "<input type=\"submit\" name=\"action\" "
+ "class=\"snac-btn-unfollow\" value=\"%s\">\n",
+ L("Unfollow")
+ );
+
+ s = xs_str_cat(s, s1);
+ }
+ else {
+ xs *s1 = xs_fmt(
+ "<input type=\"submit\" name=\"action\" "
+ "class=\"snac-btn-follow\" value=\"%s\">\n"
+ "<input type=\"submit\" name=\"action\" "
+ "class=\"snac-btn-mute\" value=\"%s\">\n",
+ L("Follow"),
+ L("MUTE")
+ );
+
+ s = xs_str_cat(s, s1);
+ }
+ }
+
+ {
+ xs *s1 = xs_fmt(
+ "<input type=\"submit\" name=\"action\" "
+ "class=\"snac-btn-delete\" value=\"%s\">\n",
+ L("Delete")
+ );
+
+ s = xs_str_cat(s, s1);
}
s = xs_str_cat(s, "</form>\n");
@@ -430,6 +488,8 @@ d_char *html_entry_controls(snac *snac, d_char *os, char *msg)
s = xs_str_cat(s, s1);
}
+ s = xs_str_cat(s, "</div>\n");
+
return xs_str_cat(os, s);
}