summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-07-11 14:37:12 -0400
committerJune McEnroe <june@causal.agency>2020-07-11 14:37:12 -0400
commit35cd2a86ed8ec3c053d10152799725dbba2ff44b (patch)
treed2311568f730aaf5e4ff9869ec1268d57bfb1023
parentBump database version (diff)
downloadscooper-35cd2a86ed8ec3c053d10152799725dbba2ff44b.tar.gz
scooper-35cd2a86ed8ec3c053d10152799725dbba2ff44b.zip
Preserve search query when clicking network or context columns
-rw-r--r--html.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/html.c b/html.c
index 562f909..49b65e9 100644
--- a/html.c
+++ b/html.c
@@ -203,11 +203,13 @@ static enum kcgi_err eventTime(struct khtmlreq *html, struct Event event) {
 	return error;
 }
 
-static enum kcgi_err eventNetwork(struct khtmlreq *html, struct Event event) {
-	if (!event.network) return KCGI_OK;
+static enum kcgi_err
+eventNetwork(struct khtmlreq *html, struct Scope scope, struct Event event) {
+	if (scope.network || !scope.query || !event.network) return KCGI_OK;
 	char *href = khttp_urlpart(
-		NULL, NULL, Pages[Contexts],
+		NULL, NULL, Pages[Search],
 		Keys[Network].name, event.network,
+		Keys[Query].name, scope.query,
 		NULL
 	);
 	if (!href) err(EX_OSERR, "khttp_urlpart");
@@ -220,12 +222,16 @@ static enum kcgi_err eventNetwork(struct khtmlreq *html, struct Event event) {
 	return error;
 }
 
-static enum kcgi_err eventContext(struct khtmlreq *html, struct Event event) {
-	if (!event.network || !event.context) return KCGI_OK;
+static enum kcgi_err
+eventContext(struct khtmlreq *html, struct Scope scope, struct Event event) {
+	if (scope.context || !scope.query || !event.network || !event.context) {
+		return KCGI_OK;
+	}
 	char *href = khttp_urlpart(
-		NULL, NULL, Pages[Events],
+		NULL, NULL, Pages[Search],
 		Keys[Network].name, event.network,
 		Keys[Context].name, event.context,
+		Keys[Query].name, scope.query,
 		NULL
 	);
 	if (!href) err(EX_OSERR, "khttp_urlpart");
@@ -297,8 +303,8 @@ htmlEvent(struct khtmlreq *html, struct Scope scope, struct Event event) {
 			KATTR__MAX
 		)
 		|| eventTime(html, event)
-		|| (scope.network ? 0 : eventNetwork(html, event))
-		|| (scope.context ? 0 : eventContext(html, event))
+		|| eventNetwork(html, scope, event)
+		|| eventContext(html, scope, event)
 		|| eventNick(html, event)
 		|| eventMessage(html, event)
 		|| khtml_closeelem(html, 1);
bba1c5484afb855&follow=1'>Extract clone URL printing to ui-shared.cJohn Keeping 2014-12-23Remove trailing slash after remove-suffixLukas Fleischer 2014-12-23git: update to v2.2.1Christian Hesse 2014-12-13filter: fix libravatar email-filter https issueChristian Hesse 2014-12-13ui-diff: add "stat only" diff typeJohn Keeping 2014-12-13Change "ss" diff flag to an enumJohn Keeping 2014-12-13ui-shared: remove toggle_ssdiff arg to cgit_diff_link()John Keeping 2014-12-13ui-shared: remove toggle_ssdiff arg to cgit_commit_link()John Keeping 2014-08-07git: update to v2.0.4John Keeping 2014-08-07Always check if README exists in choose_readme()Lukas Fleischer 2014-08-01cgitrc.5: we mean a cgi response, not requestJason A. Donenfeld 2014-07-28ui-stats.c: set parent pointer to NULL after freeing itJohn Keeping 2014-07-28git: update to v2.0.3John Keeping 2014-07-28parsing.c: make commit buffer constJohn Keeping 2014-06-30Bump version.Jason A. Donenfeld 2014-06-29remove debug fprinf() calls that sneaked in with commit 79c985Christian Hesse 2014-06-28git: update to 2.0.1Christian Hesse 2014-06-28ui-patch: Flush stdout after outputting dataJohn Keeping 2014-06-28ui-log: ignore unhandled argumentsJohn Keeping 2014-06-28git: update for git 2.0Christian Hesse 2014-04-17remove trailing whitespaces from source filesChristian Hesse 2014-04-12git: update to 1.9.2Christian Hesse 2014-04-05Fix cgit_parse_url when a repo url is contained in another repo urlJulian Maurice 2014-03-20Makefile: use more reliable git tarball mirrorJason A. Donenfeld 2014-03-20git: update to 1.9.1Christian Hesse