Make admin and community screens mobile friendly - #663
Conversation
- Stack the admin invites create-user and create-invite form grids on small screens (2-col on tablet, 1-col on mobile) so inputs are usable - Let the admin usage drill-down cards and entitlements table shrink or scroll instead of forcing horizontal page overflow - Allow integrations grid, detail grids, and community search field to shrink below their preferred width on narrow viewports Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughCSS grid and width values across several worker client routes and a shared style primitive were changed from fixed minimum sizes to responsive ChangesResponsive grid and layout tweaks
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
🔎 Preview deployed: https://kody-pr-663.kody-a99.workers.dev Worker: Mocks:
|
Summary
Audited every screen of the web UI at 320px, 360px, and 390px viewports (logged out, logged in, and admin) with an automated Playwright harness that flags horizontal document overflow, and fixed everything it caught:
/admin/invites(the worst offender): the "Create user" (3-track) and "Create invite" (5-track) form grids never stacked, so inputs were squished to ~30px and the datetime input pushed the page 78–85px past the viewport. They now collapse to 2 columns on tablet and a single column on mobile, usingminmax(0, 1fr)so intrinsic input widths can't force overflow./admin/usage: the drill-down card grid usedminmax(24rem, 1fr)(384px minimum) which overflowed phones, and the Entitlements table had no horizontal-scroll wrapper. The grid minimum is nowmin(24rem, 100%)and the table scrolls within its card like the neighboring tables./account/integrations: the integration card grid'sminmax(22rem, 1fr)minimum could overflow at ≤360px; nowmin(22rem, 100%)./community: the search field'sminWidth: 20removerflowed a 320px viewport; nowmin(20rem, 100%).detailGridCss(shared primitive): grid minimum nowmin(14rem, 100%)as a defensive floor for very narrow screens.After the fixes, all 24 audited screens report 0px horizontal overflow at 320/360/390px, and tablet (800px) and desktop (1280px) layouts are unchanged.
Before / after (390px)
Demo of the invite-creation flow on an emulated iPhone 12 Pro:
Testing
npm run validate(format, lint, typecheck, unit, Playwright E2E, MCP E2E — all green)System recap — composes existing primitives (low risk)
Mode: recap · Base:
main@09c293a0· Head:14023e8aClassification: composes — responsive CSS-in-JS layout tweaks inside the browser app; no primitive behavior, shape, or contract changes.
Primitives touched
app-uiSystem map
Summary by CodeRabbit