Repository navigation
feat(billing): keep the settings page header pinned while scrolling - #4181
Conversation
The settings frame now fills the viewport below the top nav and scrolls its content column, so the title bar and its actions stay visible. Adds the redesign's border under the title bar and beside the side nav.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. 1 included review remains after this review. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour. 📝 WalkthroughWalkthroughSettingsLayout now has responsive navigation, independent content scrolling, and a sticky header. Tests cover header actions and descriptions when no title is supplied, and omission of the description paragraph when no description is provided. ChangesSettings layout
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to The settings view provides its own content scrolling below the fixed navigation on desktop and mobile. No actionable merge-blocking issue is identified; proceed with normal checks. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4181 +/- ##
==========================================
- Coverage 89.25% 89.19% -0.07%
==========================================
Files 1370 1264 -106
Lines 38242 35478 -2764
Branches 9248 8711 -537
==========================================
- Hits 34132 31643 -2489
+ Misses 3633 3377 -256
+ Partials 477 458 -19
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
LGTM, straightforward presentational refactor.
What was reviewed: the SettingsLayout container/header/nav restyle (sticky header, bordered nav, viewport-height layout) and the move from a cn()-based active-link helper to a static class driven by aria-current; checked the new --app-header-height CSS var usage against its existing definition/usage in Layout.tsx and DeploymentDetail.tsx — same pattern, already established. Verified Title accepts a className prop (used for text-xl override). Confirmed the three new spec cases exercise the title/description/header-actions independence correctly and follow the existing setup() helper pattern. No CODEOWNERS restriction applies to this path.
Extended reasoning...
The change is a presentational CSS/markup restyle of SettingsLayout plus three new unit tests; it touches no auth, data, or security-sensitive surface. It reuses an existing app-wide CSS variable pattern (--app-header-height) already present in Layout.tsx and DeploymentDetail.tsx, and the Title component's className prop is correctly typed for the new usage. The diff is small, self-contained, well-tested, and has no CODEOWNERS restriction, so a human need not block on it.
Why
On the settings pages, the main action (Add to Balance on billing) scrolls out of view. The redesign pins the title bar to the top, with a border under it and a full-height border beside the side nav.
Part of CON-1115
What
SettingsLayoutnow fills the viewport below the top nav and scrolls its own content column. A plainstickyheader doesn't work here:Layoutwraps pages inoverflow-x-autodivs, which become the sticky container but never scroll.DeploymentDetailand the configure page size themselves the same way.aria-current.Tested with unit specs for the title and description cases, and in a local preview in light, dark and at 390px wide. The bar stays pinned, the window itself never scrolls, and nothing overflows sideways. Mutation score on the changed lines is 100%.
Summary by CodeRabbit