molecule-core/canvas/src/app
Hongming Wang a37a4a6e40 feat(canvas): demo Mock #1 — purchase-success modal on URL flag
Funding-demo Mock #1: when the canvas loads with `?purchase_success=1`,
show a centred success modal in the warm-paper theme. Auto-dismisses
after 5s; Close button + Esc + backdrop click also dismiss; URL params
are stripped on first paint so a refresh after dismiss does not
re-trigger.

Mounted in `app/layout.tsx` (not `app/page.tsx`) so the modal persists
across the canvas page-state transitions (loading → hydrated → error)
without unmounting and losing its open-state.

No real billing logic — the marketplace "Purchase" button on the
landing page redirects here with the flag; this modal is the only
thing the user sees of the "transaction".

Local-verified end-to-end via playwright (5/5 tests pass): redirect
URL shape, modal visibility, URL cleanup, close button, refresh-after-
dismiss behaviour, 5s auto-dismiss.

Pairs with the Purchase button added to landingpage Marketplace
section.
2026-05-07 08:32:35 -07:00
..
__tests__
api/buildinfo feat(canvas): add /api/buildinfo for version-display parity with tenant 2026-04-30 12:00:35 -07:00
blog/2026-04-20-chrome-devtools-mcp
orgs fix(canvas): wire SaaS Sign-out button — POST /cp/auth/signout was unreachable from the UI 2026-05-05 12:20:18 -07:00
pricing feat(canvas): warm-paper theme + Tailwind v4 migration 2026-05-03 01:43:55 -07:00
globals.css fix(canvas): dark-mode chat bubble contrast 2026-05-03 12:00:51 -07:00
icon.png
layout.tsx feat(canvas): demo Mock #1 — purchase-success modal on URL flag 2026-05-07 08:32:35 -07:00
page.tsx fix(canvas): add role=status + aria-live to remaining loading states 2026-05-03 07:11:48 -07:00