reporevlink(NULL, name, title, class, head, NULL, NULL);
}
+void cgit_tag_link(char *name, char *title, char *class, char *head,
+ char *rev)
+{
+ reporevlink("tag", name, title, class, head, rev, NULL);
+}
+
void cgit_tree_link(char *name, char *title, char *class, char *head,
char *rev, char *path)
{
}
}
+const char *fallback_cmd = "repolist";
+
char *hc(struct cgit_cmd *cmd, const char *page)
{
- return (strcmp(cmd->name, page) ? NULL : "active");
+ return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active");
}
void cgit_print_pageheader(struct cgit_context *ctx)
{
struct cgit_cmd *cmd = cgit_get_cmd(ctx);
+ if (!cmd && ctx->repo)
+ fallback_cmd = "summary";
+
html("<table id='header'>\n");
html("<tr>\n");
html("<td class='logo' rowspan='2'><a href='");
html("<table class='tabs'><tr><td>\n");
if (ctx->repo) {
- cgit_summary_link("summary", NULL, NULL, ctx->qry.head);
+ cgit_summary_link("summary", NULL, hc(cmd, "summary"),
+ ctx->qry.head);
cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,
ctx->qry.sha1, NULL);
cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head,