Skip to content

Make Panel/Dialog and location picker responsive on mobile - #207

Merged
sdunster merged 1 commit into
mainfrom
claude/panel-dialog-mobile-responsive-seusgc
Sep 5, 2026
Merged

Make Panel/Dialog and location picker responsive on mobile#207
sdunster merged 1 commit into
mainfrom
claude/panel-dialog-mobile-responsive-seusgc

Conversation

@sdunster

@sdunster sdunster commented Sep 5, 2026

Copy link
Copy Markdown
Member

Summary

The shared Panel/PanelBox/Dialog components (web/src/components/ui/Panel.tsx, web/src/components/ui/Dialog.tsx) used the same padding, corner radius, and font sizes at every viewport width. On phones this crowded the screens that use them — login (AdminLoginPage), passkey setup (PasskeyEnrollPrompt/SettingsPasskeys), and kiosk enrollment (SessionEnroll, KioskEnrollment, KioskSetupForm) — and the kiosk enrollment QR code (a fixed 280px image) could overflow a narrow viewport.

LocationPicker (the location selector) doesn't share the Panel/PanelBox component but uses the same full-screen centred card pattern by hand, with the same problem plus no horizontal padding on the outer container at all.

  • Panel/PanelBox: smaller padding, corner radius, and title/intro font size below the sm breakpoint.
  • Dialog: smaller padding below sm, and a tighter max-w-[92vw] so it never touches the viewport edges.
  • LocationPicker: added outer padding and scaled the card's padding/heading size to match.
  • KioskEnrollment: QR code image now shrinks to fit narrow viewports instead of a fixed 280px box.

Test plan

  • npx prettier --check on changed files
  • npx eslint on changed files
  • npx tsc -b (typecheck, clean)

🤖 Generated with Claude Code

https://claude.ai/code/session_01QBYWif8MmkmRPr7KK2icUh


Generated by Claude Code

@sdunster
sdunster marked this pull request as ready for review September 5, 2026 00:52
Panel/PanelBox/Dialog used the same padding, corner radius, and font
sizes at every viewport width, crowding the screens that use them —
login (AdminLoginPage), passkey setup (PasskeyEnrollPrompt/
SettingsPasskeys), and kiosk enrollment (SessionEnroll,
KioskEnrollment, KioskSetupForm) — on phones, and the kiosk enrollment
QR code (a fixed 280px image) could overflow a narrow viewport.
LocationPicker (the location selector) doesn't share the Panel/
PanelBox component but uses the same full-screen centred card pattern
by hand, with the same problems plus no horizontal padding on the
outer container at all.

- Panel/PanelBox: smaller padding, corner radius, and title/intro font
  size below the sm breakpoint; below sm the card also drops its
  border, shadow, and rounded corners, and both it and the page behind
  it use the same flat background tone so there's no gradient or
  colour seam visible anywhere on a small screen.
- Dialog: smaller padding below sm, and a tighter max-w-[92vw] so it
  never touches the viewport edges.
- LocationPicker: matched the same mobile treatment — outer padding,
  scaled card padding/heading size, and the same background handling
  as PanelBox.
- KioskEnrollment: QR code image now shrinks to fit narrow viewports
  instead of a fixed 280px box.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QBYWif8MmkmRPr7KK2icUh
@sdunster
sdunster force-pushed the claude/panel-dialog-mobile-responsive-seusgc branch from eb937e6 to 1080e71 Compare September 5, 2026 00:53
@sdunster
sdunster merged commit a22e0b0 into main Sep 5, 2026
1 check passed
@sdunster
sdunster deleted the claude/panel-dialog-mobile-responsive-seusgc branch September 5, 2026 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants