summary refs log tree commit diff
path: root/events.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-07-12 12:32:35 -0400
committerJune McEnroe <june@causal.agency>2020-07-12 12:32:35 -0400
commitd5b0b1a22e1cd1a09ff5e6911b5518e6bed3494b (patch)
treec3ef10a1a15f102a479b8c77ba5ee83f42b3a4fb /events.c
parentAdd events gaps (diff)
downloadscooper-d5b0b1a22e1cd1a09ff5e6911b5518e6bed3494b.tar.gz
scooper-d5b0b1a22e1cd1a09ff5e6911b5518e6bed3494b.zip
Add later messages link
Diffstat (limited to 'events.c')
-rw-r--r--events.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/events.c b/events.c
index e9a4f83..7ebb867 100644
--- a/events.c
+++ b/events.c
@@ -213,5 +213,25 @@ enum kcgi_err eventsPage(struct kreq *req) {
 		if (error) return error;
 	}
 	if (result != SQLITE_DONE) errx(EX_SOFTWARE, "%s", sqlite3_errmsg(db));
+
+	if (rows == eventsLimit) {
+		char *href = khttp_urlpart(
+			NULL, NULL, Pages[Events],
+			Keys[Network].name, scope.network,
+			Keys[Context].name, scope.context,
+			Keys[After].name, timestamp(prevTime - eventsOverlap),
+			NULL
+		);
+		if (!href) err(EX_OSERR, "khttp_urlpart");
+		error = 0
+			|| khtml_elem(&html, KELEM_TR)
+			|| khtml_attr(&html, KELEM_TH, KATTR_COLSPAN, "3", KATTR__MAX)
+			|| khtml_attr(&html, KELEM_A, KATTR_HREF, href, KATTR__MAX)
+			|| khtml_puts(&html, "Later messages")
+			|| khtml_closeelem(&html, 3);
+		free(href);
+		if (error) return error;
+	}
+
 	return htmlFooter(&html) || khtml_close(&html);
 }