From 4e35b4b865512b0616f1b9dd437ad12cf2953848 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 5 Feb 2024 19:34:27 +0100 Subject: [PATCH] Added paging to notify_list(), and use it in the notifications page. --- data.c | 6 +++--- html.c | 6 +++--- mastoapi.c | 2 +- snac.h | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/data.c b/data.c index dfe1c4e..642dab4 100644 --- a/data.c +++ b/data.c @@ -2084,7 +2084,7 @@ xs_dict *notify_get(snac *snac, const char *id) } -xs_list *notify_list(snac *snac) +xs_list *notify_list(snac *snac, int skip, int show) /* returns a list of notification ids */ { xs *idx = xs_fmt("%s/notify.idx", snac->basedir); @@ -2115,7 +2115,7 @@ xs_list *notify_list(snac *snac) pthread_mutex_unlock(&data_mutex); } - return index_list_desc(idx, 0, 64); + return index_list_desc(idx, skip, show); } @@ -2123,7 +2123,7 @@ int notify_new_num(snac *snac) /* counts the number of new notifications */ { xs *t = notify_check_time(snac, 0); - xs *lst = notify_list(snac); + xs *lst = notify_list(snac, 0, XS_ALL); int cnt = 0; xs_list *p = lst; diff --git a/html.c b/html.c index 85ec786..0508784 100644 --- a/html.c +++ b/html.c @@ -2135,9 +2135,9 @@ xs_str *html_people(snac *user) } -xs_str *html_notifications(snac *user) +xs_str *html_notifications(snac *user, int skip, int show) { - xs *n_list = notify_list(user); + xs *n_list = notify_list(user, skip, show); xs *n_time = notify_check_time(user, 0); xs_html *body = html_user_body(user, 0); @@ -2428,7 +2428,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, status = 401; } else { - *body = html_notifications(&snac); + *body = html_notifications(&snac, skip, show); *b_size = strlen(*body); status = 200; } diff --git a/mastoapi.c b/mastoapi.c index f1af7ba..267f842 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -1542,7 +1542,7 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, else if (strcmp(cmd, "/v1/notifications") == 0) { /** **/ if (logged_in) { - xs *l = notify_list(&snac1); + xs *l = notify_list(&snac1, 0, 64); xs *out = xs_list_new(); xs_list *p = l; xs_dict *v; diff --git a/snac.h b/snac.h index 45861f8..cf2cf38 100644 --- a/snac.h +++ b/snac.h @@ -188,7 +188,7 @@ void notify_add(snac *snac, const char *type, const char *utype, const char *actor, const char *objid); xs_dict *notify_get(snac *snac, const char *id); int notify_new_num(snac *snac); -xs_list *notify_list(snac *snac); +xs_list *notify_list(snac *snac, int skip, int show); void notify_clear(snac *snac); void inbox_add(const char *inbox);