From e633a42223fc4ab7d74df90e47d7c2a7e5c79377 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 20 Jun 2018 21:03:14 +0800 Subject: [PATCH] noheader: place branch combo on tabs if no header 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 Reviewed-by: John Keeping --- ui-shared.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/ui-shared.c b/ui-shared.c index 2327570..74ace10 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -969,6 +969,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; @@ -1002,15 +1015,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); @@ -1034,8 +1039,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, @@ -1092,6 +1104,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"), -- 2.40.0