commit 49b226a
default
·
2024-02-21 07:27:11 +0000 UTC
parent bc3c7dd
Started an instance page.
1 files changed,
+23,
-1
M
html.c
M
html.c
+23,
-1
1@@ -698,6 +698,8 @@ static xs_html *html_user_body(snac *user, int read_only)
2 xs *admin_url = xs_fmt("%s/admin", user->actor);
3 xs *notify_url = xs_fmt("%s/notifications", user->actor);
4 xs *people_url = xs_fmt("%s/people", user->actor);
5+ xs *instance_url = xs_fmt("%s/instance", user->actor);
6+
7 xs_html_add(top_nav,
8 xs_html_tag("a",
9 xs_html_attr("href", user->actor),
10@@ -714,7 +716,11 @@ static xs_html *html_user_body(snac *user, int read_only)
11 xs_html_text(" - "),
12 xs_html_tag("a",
13 xs_html_attr("href", people_url),
14- xs_html_text(L("people"))));
15+ xs_html_text(L("people"))),
16+ xs_html_text(" - "),
17+ xs_html_tag("a",
18+ xs_html_attr("href", instance_url),
19+ xs_html_text(L("instance"))));
20 }
21
22 xs_html_add(body,
23@@ -1962,6 +1968,7 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
24 }
25
26 if (list && user && read_only) {
27+ /** history **/
28 if (xs_type(xs_dict_get(srv_config, "disable_history")) != XSTYPE_TRUE) {
29 xs_html *ul = xs_html_tag("ul", NULL);
30
31@@ -2495,6 +2502,21 @@ int html_get_handler(const xs_dict *req, const char *q_path,
32 }
33 }
34 else
35+ if (strcmp(p_path, "instance") == 0) { /** instance timeline **/
36+ if (!login(&snac, req)) {
37+ *body = xs_dup(uid);
38+ status = 401;
39+ }
40+ else {
41+ xs *list = timeline_instance_list(skip, show);
42+ xs *next = timeline_instance_list(skip + show, 1);
43+
44+ *body = html_timeline(&snac, list, 0, skip, show, xs_list_len(next), NULL, "/instance");
45+ *b_size = strlen(*body);
46+ status = 200;
47+ }
48+ }
49+ else
50 if (xs_startswith(p_path, "p/")) { /** a timeline with just one entry **/
51 if (xs_type(xs_dict_get(snac.config, "private")) == XSTYPE_TRUE)
52 return 403;