Add PageHeader/PageLayout and migrate Sessions#2282
Conversation
Introduces a sticky page shell with optional breadcrumbs, title, and toolbar slots plus agent documentation and the page-layout skill. Co-authored-by: Cursor <cursoragent@cursor.com>
Keeps the single-row query toolbar inside a custom PageHeader while using the shared layout wrapper for scroll and padding. Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🔴 Tier 4 — CriticalTouches auth, data models, config, tasks, OTel pipeline, ClickHouse, or CI/CD. Why this tier:
Additional context: agent branch ( Review process: Deep review from a domain expert. Synchronous walkthrough may be required. Stats
|
PR Review
Nothing security-relevant. The primitives themselves look clean and the API split ( |
Deep Review✅ No critical issues found. 🟡 P2 -- recommended
🔵 P3 nitpicks (3)
Reviewers (4): correctness-reviewer, testing-reviewer, maintainability-reviewer, project-standards-reviewer. Testing gaps:
|
E2E Test Results✅ All tests passed • 176 passed • 3 skipped • 1232s
Tests ran across 4 shards in parallel. |
Use ignoreFiles for PageLayout until consumer PRs land, document cleanup in agent_docs, add a TODO on the component, and fix SCSS comment spacing. Co-authored-by: Cursor <cursoragent@cursor.com>
Combine PageLayout consumer so Knip can resolve PageLayout without ignoreFiles.
Remove temporary ignore, PageLayout TODO, and refresh page_layout.md Knip note. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop `mt-4` on the list wrapper so content sits tighter below the toolbar. Co-authored-by: Cursor <cursoragent@cursor.com>
PR Review
|
Summary
PageHeaderandPageLayoutfor a consistent sticky page shell (optional breadcrumbs row, toolbar slots, padded content, fill viewport).PageLayout(single-row query toolbar in a custom header), previously in Migrate Sessions page to PageLayout #2287, so this branch is self-contained for review.agent_docs/page_layout.mdand thepage-layoutClaude skill.Before
After
Test plan
make ci-lint/ app typecheck/sessionsloads; Run, filters, list, and side panel behave as beforeyarn knip(root) passesMade with Cursor