diff options
author | default <nobody@localhost> | 2022-09-29 13:15:57 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-09-29 13:15:57 +0200 |
commit | f124d7accb912b365df2f03c1e1cba12b9d0f055 (patch) | |
tree | f20692bac01434d4884521dcb72e2865019d7524 | |
parent | a66bbd4360ebf8b97872376e2ea0c2e7933c3e56 (diff) |
Added support for one-entry timeline.
-rw-r--r-- | html.c | 17 | ||||
-rw-r--r-- | snac.h | 1 |
2 files changed, 15 insertions, 3 deletions
@@ -721,15 +721,26 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * } } else - if (xs_startswith(p_path, "p/") == 0) { + if (xs_startswith(p_path, "p/")) { /* a timeline with just one entry */ + xs *id = xs_fmt("%s/%s", snac.actor, p_path); + xs *fn = _timeline_find_fn(&snac, id); + + if (fn != NULL) { + xs *list = xs_list_new(); + list = xs_list_append(list, fn); + + *body = html_timeline(&snac, list, 1); + *b_size = strlen(*body); + status = 200; + } } else - if (xs_startswith(p_path, "s/") == 0) { + if (xs_startswith(p_path, "s/")) { /* a static file */ } else - if (xs_startswith(p_path, "h/") == 0) { + if (xs_startswith(p_path, "h/")) { /* an entry from the history */ } else @@ -61,6 +61,7 @@ int follower_check(snac *snac, char *actor); d_char *follower_list(snac *snac); int timeline_here(snac *snac, char *id); +d_char *_timeline_find_fn(snac *snac, char *id); d_char *timeline_find(snac *snac, char *id); void timeline_del(snac *snac, char *id); d_char *timeline_get(snac *snac, char *fn); |