From 64111f85bdf1dd74bb3bf1ff6886f497cc74f6bd Mon Sep 17 00:00:00 2001 From: default Date: Mon, 14 Aug 2023 10:08:19 +0200 Subject: Some work towards an instance timeline. --- html.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 18 deletions(-) (limited to 'html.c') diff --git a/html.c b/html.c index 161292d..b941464 100644 --- a/html.c +++ b/html.c @@ -218,10 +218,10 @@ xs_str *html_msg_icon(xs_str *os, const xs_dict *msg) } -xs_str *html_user_header(snac *snac, xs_str *s, int local) -/* creates the HTML header */ +xs_str *html_base_header(xs_str *s) { - char *p, *v; + xs_list *p; + xs_str *v; s = xs_str_cat(s, "\n\n\n"); s = xs_str_cat(s, "\n\n"); + + return s; +} + + +xs_str *html_user_header(snac *snac, xs_str *s, int local) +/* creates the HTML header */ +{ + s = html_base_header(s); + /* add the user CSS */ { xs *css = NULL; @@ -1345,7 +1364,7 @@ xs_str *html_entry(snac *user, xs_str *os, const xs_dict *msg, int local, } -xs_str *html_user_footer(xs_str *s) +xs_str *html_footer(xs_str *s) { xs *s1 = xs_fmt( "
\n" @@ -1361,7 +1380,7 @@ xs_str *html_user_footer(xs_str *s) } -xs_str *html_timeline(snac *snac, const xs_list *list, int local, int skip, int show, int show_more) +xs_str *html_timeline(snac *user, const xs_list *list, int local, int skip, int show, int show_more) /* returns the HTML for the timeline */ { xs_str *s = xs_str_new(NULL); @@ -1369,26 +1388,35 @@ xs_str *html_timeline(snac *snac, const xs_list *list, int local, int skip, int char *v; double t = ftime(); - s = html_user_header(snac, s, local); + if (user) + s = html_user_header(user, s, local); + else + s = html_instance_header(s); - if (!local) - s = html_top_controls(snac, s); + if (user && !local) + s = html_top_controls(user, s); s = xs_str_cat(s, "\n"); s = xs_str_cat(s, "
\n"); while (xs_list_iter(&p, &v)) { xs *msg = NULL; + int status; - if (!valid_status(timeline_get_by_md5(snac, v, &msg))) + if (user) + status = timeline_get_by_md5(user, v, &msg); + else + status = object_get_by_md5(v, &msg); + + if (!valid_status(status)) continue; - s = html_entry(snac, s, msg, local, 0, v, 0); + s = html_entry(user, s, msg, local, 0, v, 0); } s = xs_str_cat(s, "
\n"); - if (local) { + if (user && local) { xs *s1 = xs_fmt( "
\n" "

%s

\n"); - s = html_user_footer(s); + s = html_footer(s); s = xs_str_cat(s, "\n\n"); -- cgit v1.2.3