mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-15 01:55:03 +00:00
Minor "Back to top" "More..." link refactoring.
This commit is contained in:
parent
b57409a959
commit
82ec4ea95c
3 changed files with 22 additions and 24 deletions
34
html.c
34
html.c
|
@ -509,7 +509,7 @@ xs_html *html_instance_head(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static xs_html *html_instance_body(char *tag)
|
static xs_html *html_instance_body(char *title)
|
||||||
{
|
{
|
||||||
char *host = xs_dict_get(srv_config, "host");
|
char *host = xs_dict_get(srv_config, "host");
|
||||||
char *sdesc = xs_dict_get(srv_config, "short_description");
|
char *sdesc = xs_dict_get(srv_config, "short_description");
|
||||||
|
@ -560,14 +560,11 @@ static xs_html *html_instance_body(char *tag)
|
||||||
xs_html_text(handle)))));
|
xs_html_text(handle)))));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
if (title != NULL) {
|
||||||
xs *l = tag ? xs_fmt(L("Search results for #%s"), tag) :
|
|
||||||
xs_dup(L("Recent posts by users in this instance"));
|
|
||||||
|
|
||||||
xs_html_add(body,
|
xs_html_add(body,
|
||||||
xs_html_tag("h2",
|
xs_html_tag("h2",
|
||||||
xs_html_attr("class", "snac-header"),
|
xs_html_attr("class", "snac-header"),
|
||||||
xs_html_text(l)));
|
xs_html_text(title)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return body;
|
return body;
|
||||||
|
@ -1996,7 +1993,7 @@ xs_html *html_footer(void)
|
||||||
|
|
||||||
xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
||||||
int skip, int show, int show_more,
|
int skip, int show, int show_more,
|
||||||
char *tag, char *page, int utl)
|
char *title, char *page, int utl)
|
||||||
/* returns the HTML for the timeline */
|
/* returns the HTML for the timeline */
|
||||||
{
|
{
|
||||||
xs_list *p = (xs_list *)list;
|
xs_list *p = (xs_list *)list;
|
||||||
|
@ -2026,7 +2023,7 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
head = html_instance_head();
|
head = html_instance_head();
|
||||||
body = html_instance_body(tag);
|
body = html_instance_body(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
xs_html *html = xs_html_tag("html",
|
xs_html *html = xs_html_tag("html",
|
||||||
|
@ -2126,25 +2123,22 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (show_more) {
|
if (show_more) {
|
||||||
xs *t = NULL;
|
|
||||||
xs *m = NULL;
|
xs *m = NULL;
|
||||||
xs *ss = xs_fmt("skip=%d&show=%d", skip + show, show);
|
xs *ss = xs_fmt("skip=%d&show=%d", skip + show, show);
|
||||||
|
|
||||||
xs *url = page == NULL || user == NULL ?
|
xs *url = xs_dup(user == NULL ? srv_baseurl : user->actor);
|
||||||
xs_dup(srv_baseurl) : xs_fmt("%s%s", user->actor, page);
|
|
||||||
|
|
||||||
if (tag) {
|
if (page != NULL)
|
||||||
t = xs_fmt("%s?t=%s", url, tag);
|
url = xs_str_cat(url, page);
|
||||||
m = xs_fmt("%s&%s", t, ss);
|
|
||||||
}
|
if (xs_str_in(url, "?") != -1)
|
||||||
else {
|
m = xs_fmt("%s&%s", url, ss);
|
||||||
t = xs_dup(url);
|
else
|
||||||
m = xs_fmt("%s?%s", t, ss);
|
m = xs_fmt("%s?%s", url, ss);
|
||||||
}
|
|
||||||
|
|
||||||
xs_html *more_links = xs_html_tag("p",
|
xs_html *more_links = xs_html_tag("p",
|
||||||
xs_html_tag("a",
|
xs_html_tag("a",
|
||||||
xs_html_attr("href", t),
|
xs_html_attr("href", url),
|
||||||
xs_html_attr("name", "snac-more"),
|
xs_html_attr("name", "snac-more"),
|
||||||
xs_html_text(L("Back to top"))),
|
xs_html_text(L("Back to top"))),
|
||||||
xs_html_text(" - "),
|
xs_html_text(" - "),
|
||||||
|
|
10
httpd.c
10
httpd.c
|
@ -200,14 +200,18 @@ int server_get_handler(xs_dict *req, const char *q_path,
|
||||||
*body = timeline_to_rss(NULL, tl, link, link, link);
|
*body = timeline_to_rss(NULL, tl, link, link, link);
|
||||||
*ctype = "application/rss+xml; charset=utf-8";
|
*ctype = "application/rss+xml; charset=utf-8";
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
*body = html_timeline(NULL, tl, 0, skip, show, more, t, NULL, 0);
|
xs *page = xs_fmt("?t=%s", t);
|
||||||
|
xs *title = xs_fmt(L("Search results for #%s"), t);
|
||||||
|
*body = html_timeline(NULL, tl, 0, skip, show, more, title, page, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (xs_type(xs_dict_get(srv_config, "show_instance_timeline")) == XSTYPE_TRUE) {
|
if (xs_type(xs_dict_get(srv_config, "show_instance_timeline")) == XSTYPE_TRUE) {
|
||||||
/** instance timeline **/
|
/** instance timeline **/
|
||||||
xs *tl = timeline_instance_list(0, 30);
|
xs *tl = timeline_instance_list(0, 30);
|
||||||
*body = html_timeline(NULL, tl, 0, 0, 0, 0, NULL, NULL, 0);
|
*body = html_timeline(NULL, tl, 0, 0, 0, 0,
|
||||||
|
L("Recent posts by users in this instance"), NULL, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
*body = greeting_html();
|
*body = greeting_html();
|
||||||
|
|
2
snac.h
2
snac.h
|
@ -318,7 +318,7 @@ xs_str *encode_html(const char *str);
|
||||||
|
|
||||||
xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
|
||||||
int skip, int show, int show_more,
|
int skip, int show, int show_more,
|
||||||
char *tag, char *page, int utl);
|
char *title, char *page, int utl);
|
||||||
|
|
||||||
int html_get_handler(const xs_dict *req, const char *q_path,
|
int html_get_handler(const xs_dict *req, const char *q_path,
|
||||||
char **body, int *b_size, char **ctype, xs_str **etag);
|
char **body, int *b_size, char **ctype, xs_str **etag);
|
||||||
|
|
Loading…
Reference in a new issue