Repository navigation
refactor(web): one route-tab strip, row link, sheet header and page title - #1986
Conversation
…itle linkTabStrip gains optional icon, count and onClick, and the alerts hub, alert rule, investigation and infra strips render through it. ui/table exports rowLink for stretched-link row navigation, replacing four copies of the overlay class. sheetDetailHeader gains segmented kinds and an adornment slot; the pod peek, review sheet and investigation action sheet use it. Every page h1 now goes through pageTitle.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 31 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This comment has been minimized.
This comment has been minimized.
Maple review🟢 Confidence 10/10 · safe to merge. Only base-branch files changed since the last review and they are not in this diff; the earlier strip-scrolling and title-wrapping fixes are present at the head. Consolidates four web layout primitives — route-tab strip, row link, sheet header and page title — into the kit and moves ~30 pages onto them. The substitutions are faithful (same classes, attributes and roles) and nothing in the diff is unsafe to merge.
|
Stack: #1985 tokens and primitives → #1986 kit pieces → #1987 migrations → #1988 scale cleanup
Second PR in the UI consistency stack (on #1985). It gives four layout pieces one shared implementation each, so pages stop hand-building them.
Changes
Route tabs.
linkTabStrip(page/kit/underline-tabs.ts) gains an optional icon, acount(with anerrortone) and an in-placeonClick. The alerts hub, alert rule, investigation detail and every infra / infra-integrations strip now render through it. Infra's second function also namedlinkTabStripis now a thinviewTabStripadapter, and investigations moves its tabs fromsticky:into thetabs:slot (a<nav>of links witharia-currentinstead of atablist). Every strip now uses the kit look (security and code-review already did): 12px tab padding, underline inset to the content edge. Narrow screens scroll the strip.Row navigation.
ui/table.tsexportsrowLink(a real link stretched over its row) andROW_LINK_LIFTfor controls that must stay clickable above it. The four copies of the overlay class (agent sessions, metrics, traces, alerts hub withROW_STRETCHED_LINK_CLASS) are gone. No visual change.Sheet headers.
sheetDetailHeadertakes segmentedkinds and anadornmentbeside the title. The pod peek, code-review review sheet and investigation action sheet drop their copies and use it; their titles get the kit's display face.Page titles. Every page
<h1>goes throughpageTitle:dashboardPage, infrapageHero/pageHeroParts(22 pages), dashboards list/templates/view, security, anomalies, investigations, integrations hub and detail, new source. The integration detail title grows fromtext-lgto the standard page-title size.Verification
apps/webtypecheck passes; Vitest: 1277 tests in every touched area plussrc/uiandsrc/lab./lab/*before (PR fix(ui): one status palette, Card on the Panel radius, 14px control icons #1985 state) and after, 1440px, dark and light. Pages without a lab route (alerts hub, pod peek, review sheet) are covered by their scene tests only. Agent sessions shows no pixel change, as intended.Known and unchanged: Foldkit's
OnClickprevents every click, so cmd-click on the in-place Cloudflare/GCP tabs does not open a new tab (middle-click does). This predates the PR.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.