2 months ago
626a5b6The page called AppShell with no activeRepositoryNavigation, so a view scoped to a single repository rendered the workspace-wide repository list instead of that repository's rail. It now builds the same navigation object the repository layout does, so the left edge matches everywhere under /:owner/:repo — including the conditional Campfire, Docs, and Settings entries, which come from the repo's flags and the viewer's access. Every panel moves from stock Card to the house gitpanel recipe: the bordered frame carries the header strip bare and the body is one inner card. A local JobPanel holds the shape so it is not repeated five times; it mirrors the pull request sidebar's SidebarSection rather than importing it, since CI reaching into a PR route would be the wrong coupling. Two panels needed reshaping rather than renaming. Runner had a CardFooter for its labels, and a gitpanel has one inner surface, so the labels sit at the foot of the body behind a rule. Steps kept its status pills, which become the panel's header action. The log viewer follows the same recipe, but its body keeps the near-black terminal tone instead of `bg-card` — console output is the one surface that should not track the theme. Its status strip now rides the frame, so that strip moves to tokens (`text-muted-foreground`, `text-destructive`, `bg-success`) rather than the hardcoded neutrals it used against the old dark container. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Parent15be76d