diff --git a/html.c b/html.c
index 49c642c..ca14d45 100644
--- a/html.c
+++ b/html.c
@@ -1331,6 +1331,13 @@ xs_html *html_entry_controls(snac *snac, const char *actor,
}
}
+ if (is_bookmarked(snac, id))
+ xs_html_add(form,
+ html_button("unbookmark", L("Unbookmark"), L("Delete this post from your bookmarks")));
+ else
+ xs_html_add(form,
+ html_button("bookmark", L("Bookmark"), L("Add this post to your bookmarks")));
+
if (strcmp(actor, snac->actor) != 0) {
/* controls for other actors than this one */
if (following_check(snac, actor)) {
@@ -3387,6 +3394,16 @@ int html_post_handler(const xs_dict *req, const char *q_path,
unpin(&snac, id);
timeline_touch(&snac);
}
+ else
+ if (strcmp(action, L("Bookmark")) == 0) { /** **/
+ bookmark(&snac, id);
+ timeline_touch(&snac);
+ }
+ else
+ if (strcmp(action, L("Unbookmark")) == 0) { /** **/
+ unbookmark(&snac, id);
+ timeline_touch(&snac);
+ }
else
status = HTTP_STATUS_NOT_FOUND;