# Mobile / tablet audit — descrybe-v2 web **Date:** 2026-08-04 **App:** `apps/web` (SvelteKit) at `http://127.0.0.1:5174` **Auth:** demo user `demo@descrybe.local` (see [demo-user.md](demo-user.md)) **Tooling:** codehelper `browser` with `device=mobile` (390×844) and `device=tablet` (768×1024), `format=png` **Gate:** `npm run check` → **0 errors, 0 warnings** --- ## Summary Document-level horizontal overflow on dashboard table pages is fixed (products/feeds document width now matches the viewport ≈390px on mobile). Tables scroll horizontally inside shells. Modals use a bottom-sheet layout on small screens. Tutorial popover clamps and scrolls on narrow viewports. Remaining polish: denser header cluster, mapping/table column density, and tutorial popover vs open drawer. | Area | Before (mobile) | After | |------|-----------------|--------| | Products page width | ~823px (page scroll) | **390px** (table scrolls inside) | | Feeds page width | ~989px | **390px** | | Campaigns / Woo | 627–708px | Contained via layout `overflow-x-clip` + table shells | | Billing / Dashboard / Pricing / Login | Already ~390 | OK | | `npm run check` | — | **Pass** | --- ## Pages audited ### Login (`/login`) — mobile + tablet - **Screenshot notes:** Centered sign-in card, brand header, footer legal links. No horizontal overflow. Form fields and Sign in CTA are comfortable tap sizes. - **Findings:** Secondary text links (Create company / Accept invite / View pricing) are smaller than 44px but usable. OK for auth. - **Fixes:** None required. ### Pricing (`/pricing`) — mobile - **Screenshot notes:** Marketing shell with hamburger + theme toggle; plan cards stack vertically; Monthly/Yearly toggle fits. - **Findings:** Header icon pair is close; FAQ rows are full-width (good). Hero CTA pair sits side-by-side — acceptable. - **Fixes:** None required this pass. ### Dashboard (`/dashboard`) — mobile - **Screenshot notes:** Hamburger + company switcher + short “Resume” tour control + avatar. Action grid (tutorial / processing / store / campaign) wraps. Stat cards stack full width. - **Findings:** Header cluster is dense on 390px. Tutorial opens drawer for nav steps and shows popover over sidebar (step “Standard fields” observed). - **Fixes:** Shorter header tour labels on xs; larger tap height (~36–40px); layout padding `p-4 sm:p-6`. ### Products (`/products`) — mobile + tablet - **Screenshot notes (mobile):** Status tabs + search/filters; product flex-table with Quality / Category / Status columns. Viewport no longer widens the document. - **Screenshot notes (tablet):** Sidebar drawer pattern still uses hamburger at 768; table columns readable; “Resume tutorial” full label visible. - **Findings:** Table still needs **in-card horizontal swipe** to see Actions; that is intended. Filter row can feel cramped on mobile. - **Fixes:** `ProductTable` `min-w-[40rem]` + `overflow-x-auto`; page shell `min-w-0`. ### Feeds (`/feeds`) — mobile - **Screenshot notes:** Stats cards stack; search card; wide feeds table with Name / Source / Type / Interval / Status / Last Synced / Actions. Map + ⋮ actions visible after horizontal scroll. - **Findings:** Source header truncates in the first viewport until the user scrolls the table — expected with sticky Actions. Map/⋮ remain tight tap targets. - **Fixes:** Card `min-w-0 overflow-hidden`; shared `Table` `min-w-[36rem]` + overflow shell. ### Mapping (`/feeds/[id]/mapping`) — mobile - **Screenshot notes:** Title + Auto-map / Extract / Back actions wrap; step tabs and field mapping table; footer Save / Sync sample. - **Findings:** Step tabs previously clipped horizontally (“Select Product Element” / “Map Fields” side-by-side). - **Fixes:** Step tabs stack on xs (`flex-col` → `sm:flex-row`). ### Billing (`/billing`) — mobile - **Screenshot notes:** Plan/credits cards stack; usage chart; Compare / Manage / Add credits actions. - **Findings:** Header density same as other app pages. No page overflow. - **Fixes:** Inherited layout/header fixes. ### Campaigns (`/campaigns`) — mobile - **Screenshot notes:** Search + campaign table (Name / Season / Status / Updated / Actions). - **Findings:** Table uses horizontal scroll inside card after shell fix. - **Fixes:** Campaigns table Card `min-w-0 overflow-hidden`. ### Woo / Stores (`/woocommerce`) — mobile - **Screenshot notes:** Setup steps card; Connection / Categories / … tabs (2-col grid on mobile); credential form; Save / Queue buttons. - **Findings:** Setup step copy previously appeared clipped when the page itself overflowed; `break-words` added on the steps list. - **Fixes:** `break-words` on setup `