Skip to content

feat(portal): make app mobile responsive#24

Merged
keithfawcett merged 1 commit into
mainfrom
feat/mobile-responsive
Jun 15, 2026
Merged

feat(portal): make app mobile responsive#24
keithfawcett merged 1 commit into
mainfrom
feat/mobile-responsive

Conversation

@keithfawcett

Copy link
Copy Markdown
Contributor

Makes the portal (app.openpartner.dev) mobile responsive. It was previously desktop-only — pure inline CSS-in-JS, a fixed 248px sidebar, and no media queries anywhere.

Changes

Foundation

  • useMediaQuery / useIsMobile hook (768px breakpoint) — how components branch inline styles by viewport, since there are no stylesheets to hang @media on.

Navigation → mobile drawer

  • Both shells (Shell in App.tsx and CreatorShell) collapse the fixed sidebar into a sticky hamburger top bar + slide-in drawer with a tap-to-dismiss backdrop. Sidebar takes a variant: 'sidebar' | 'drawer' prop; the drawer auto-closes on navigation. Desktop is unchanged.

Shared primitives (ui.tsx)

  • Page: responsive padding, stacking header, smaller title on mobile.
  • Table: reflows into stacked label/value cards on phones (first column as the row title) instead of horizontal scrolling — so all data is visible without scrolling sideways. Tablet/desktop keep the real table with a horizontal-scroll fallback.

Grid sweep

  • op-grid-collapse class (global.css, !important media query) collapses ~20 hardcoded multi-column form grids to one column ≤768px. Short stat pairs (PartnerCard, creator cards) intentionally stay 2-up.

Device-testing fixes

  • Webhook endpoint cards: header stacks vertically on mobile, long URLs wrap, action buttons wrap so they no longer overlap the URL.

Verification

  • tsc --noEmit and vite build both pass.
  • Live mobile QA done on-device (screenshots reviewed); a couple of layout refinements folded in from that pass.

🤖 Generated with Claude Code

- Table: reflow to stacked label/value cards on phones instead of
  horizontal scroll, so all data is visible without sideways scrolling
- PartnerCard / creator card stats keep 2 columns on mobile (don't collapse
  short stat pairs to a single column)
- Webhook endpoint card: stack header vertically on mobile, wrap long URLs,
  and let action buttons wrap so they no longer overlap the URL

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@keithfawcett keithfawcett force-pushed the feat/mobile-responsive branch from 2ee1105 to b370738 Compare June 15, 2026 19:16
@keithfawcett keithfawcett merged commit 05e1edb into main Jun 15, 2026
9 of 10 checks passed
@keithfawcett keithfawcett deleted the feat/mobile-responsive branch June 15, 2026 19:31
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.

1 participant