molecule-core/canvas/src
Hongming Wang 6c23aada1e feat(canvas): /orgs landing page for post-signup users
CP's Callback handler redirects every new WorkOS session to
APP_URL/orgs, but canvas had no such route — new users hit the canvas
Home component, which tries to call /workspaces on a tenant that
doesn't exist yet, and saw a confusing error. This PR plugs that gap
with a dedicated landing page that:

- Bounces anonymous visitors back to /cp/auth/login
- Zero-org users see a slug-picker (POST /cp/orgs, refresh)
- For each existing org, shows status + CTA:
  * awaiting_payment → amber "Complete payment" → /pricing?org=…
  * running          → emerald "Open" → https://<slug>.moleculesai.app
  * failed           → "Contact support" → mailto
  * provisioning     → read-only "provisioning…"
- Surfaces errors inline with a Retry button

Deliberately server-light: one GET /cp/orgs, no WebSocket, no canvas
store hydration. Goal is to move the user from signup to either
Stripe Checkout or their tenant URL with one click each.

Closes the last UX gap between the BILLING_REQUIRED gate landing on
the CP and real users being able to complete a signup today.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 04:13:54 -07:00
..
__tests__ fix(canvas): replace unsafe-inline/unsafe-eval with nonce-based CSP (#450) 2026-04-16 20:35:27 +00:00
app feat(canvas): /orgs landing page for post-signup users 2026-04-19 04:13:54 -07:00
components fix(canvas): degraded badge WCAG AA contrast — amber-400 → amber-300 (closes #885) 2026-04-18 12:05:38 -07:00
hooks initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
lib fix(canvas): add 15s fetch timeout on API calls 2026-04-19 02:12:47 -07:00
store fix(gate-6): merge main into fix/a11y-audit-902-905 — resolve 7 conflicts 2026-04-18 01:34:00 +00:00
stores initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
styles fix(canvas): C1/C2/C3/C5 dark-theme CSS and ReactFlow colorMode 2026-04-16 10:45:16 +00:00
types feat(canvas): audit trail visualization panel (issue #753) 2026-04-17 16:03:28 +00:00
middleware.ts fix(canvas): replace unsafe-inline/unsafe-eval with nonce-based CSP (#450) 2026-04-16 20:35:27 +00:00