Appearance
Merchant Console
Cross-cutting finding — two divergent consoles, not one responsive design
Severity: blocker · Status: 🔴 Findings logged
prototype/mobile-console/ and ui_kits/merchant-console-v2/ are two independently authored surfaces for the same product:
- Desktop (
ui_kits/merchant-console-v2/manifest.js) derives navigation from a real module registry:computeNav(workspace)filters 30 modules across 9 groups byappliesTo,domain,plan(rank-gated, locked-not-hidden), androle, and supports a real multi-workspace switcher persisted tolocalStorage. - Mobile (
prototype/mobile-console/Home.dc.html, confirmed by reading the file directly) has a fixed 4-tab bar (Home / Leads / Chats / More + a center QR FAB), a hardcoded single workspace ("Chai & Charcha"), and does not callmanifest.computeNavanywhere in the file. The design project's ownSCREENS.mdconfirms this was a deliberate simplification ("the workspace-switcher bottom sheet... was intentionally dropped when splitting into one-screen-per-file").
So the "single source of truth" navigation model described in CONTRACTS.md §1 is real on desktop and contradicted on mobile.
Architecture-gated — not a single Claude Designs prompt (tracked as QRS-046)
This is the same structural gap logged on the section index (no manifest.json/status field, device-split folders instead of platform-suffixed files). The right fix is to design each console module once, responsive, deriving nav from manifest.computeNav on both platforms, rather than patching the mobile file to add a workspace switcher on its own. That's a redesign of how future screens get produced, which needs to be decided before writing a per-screen prompt, or the next module added will repeat the same split.
Mobile Home — 🔴 Findings logged · Last reviewed 2026-07-19
File: prototype/mobile-console/Home.dc.html, confirmed by direct read.
Finding — hardcoded "Sponsored" content
Confirmed inline: a "Zero-fee UPI settlements this month · Sponsored" banner, sourced from manifest.js's CAMPAIGNS/getPromo('home.banner', ws). This is the concrete evidence behind the cross-cutting ad architecture finding — it's real and already shipping to the merchant dashboard, not a hypothetical.
Confirmed compliant (do not re-flag)
- Semantic tokens throughout, no hardcoded colors found.
- Real
<a href>navigation toProfile.dc.html,Notifications.dc.html,Enquiries.dc.html,Messages.dc.html,More.dc.html,QRTools.dc.html— all links resolve to files that exist in the project. - The bottom tab bar + center FAB pattern matches
SCREENS.md's documented navigation contract exactly (Home / Leads / Chats / More, FAB → QR Tools).
Desktop (ui_kits/merchant-console-v2) — 🔴 Partially reviewed
CONTRACTS.md and manifest.js were read in full (see design-system-foundation for the token/contract-level findings). The individual page files (home.html, qr-tools.html, ConsoleShell.jsx, kit.jsx, modules.jsx, PromoComponents.jsx, shell-boot.jsx) have not yet been read directly in this pass — findings about them should be treated as inferred from the contracts layer, not confirmed against the actual rendered pages, until read.
Remaining mobile screens — ⚪ Not yet reviewed
Enquiries.dc.html, Messages.dc.html, Thread.dc.html, More.dc.html, Notifications.dc.html, Profile.dc.html, Analytics.dc.html, Invoices.dc.html, CardEditor.dc.html, QRTools.dc.html, Catalogue.dc.html, Reviews.dc.html, Offers.dc.html, Announcements.dc.html.