From mboxrd@z Thu Jan 1 00:00:00 1970 From: andy at warmcat.com (Andy Green) Date: Wed, 20 Jun 2018 21:17:00 +0800 Subject: [PATCH] noheader: place branch combo on tabs if no header In-Reply-To: <45190b3f-ced1-2b5f-9d3e-c9da90192867@warmcat.com> References: <45190b3f-ced1-2b5f-9d3e-c9da90192867@warmcat.com> Message-ID: <152950062069.30029.12723213146610945242.stgit@mail.warmcat.com> noheader=1 stops the static page header from being emitted by cgit, but along with that, the small form that lets the user change branch context on the page is also lost. This isn't actually static since it contains a dynamic list of branches; it can't be reproduced on the user's external header static html. So it seems it doesn't belong to the set of header things that should be disabled. This patch relocates the branch selection combo and form on the left of the tabs line if noheader=1. It doesn't change anything if noheader is not set. Signed-off-by: Andy Green --- ui-shared.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/ui-shared.c b/ui-shared.c index c9a34fb..082a6f1 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -958,6 +958,19 @@ static void cgit_print_path_crumbs(char *path) ctx.qry.path = old_path; } +static void print_branch_combo_form(void) +{ + html("
\n"); + cgit_add_hidden_formfields(0, 1, ctx.qry.page); + html(" "); + html(""); + html("
"); +} + static void print_header(void) { char *logo = NULL, *logo_link = NULL; @@ -991,15 +1004,7 @@ static void print_header(void) cgit_summary_link(ctx.repo->name, ctx.repo->name, NULL, NULL); if (ctx.env.authenticated) { html(""); - html("
\n"); - cgit_add_hidden_formfields(0, 1, ctx.qry.page); - html(" "); - html(""); - html("
"); + print_branch_combo_form(); } } else html_txt(ctx.cfg.root_title); @@ -1023,8 +1028,15 @@ void cgit_print_pageheader(void) if (!ctx.env.authenticated || !ctx.cfg.noheader) print_header(); - html("
\n"); + html("\n"); if (ctx.env.authenticated && ctx.repo) { + if (ctx.cfg.noheader) { + html("
"); + print_branch_combo_form(); + html(""); + } + html(""); + if (ctx.repo->readme.nr) reporevlink("about", "about", NULL, hc("about"), ctx.qry.head, NULL, @@ -1081,6 +1093,8 @@ void cgit_print_pageheader(void) html("\n"); } else if (ctx.env.authenticated) { char *currenturl = cgit_currenturl(); + + html(""); site_link(NULL, "index", NULL, hc("repolist"), NULL, NULL, 0, 1); if (ctx.cfg.root_readme) site_link("about", "about", NULL, hc("about"),