From f40f32a50a2b49ec8a2c7bdc0ffd199e3db050c5 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 28 May 2026 14:05:02 -0700 Subject: [PATCH] Add Global Accounts interactive demo ("See it live") MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Interactive, embeddable wallet demo for the Grid docs — the neobank analog of the Flow Builder. New standalone Next.js app (components/grid-wallet-demo) that the docs embed in an iframe with light/dark theme sync, mirroring how grid-visualizer powers /flow-builder. - Same shell + design system as the Flow Builder (@lightsparkdev/origin, sidebar + canvas + CodePanel-style API log, central-icons, squircle). - Playground model: pick a use case + sign-in method, then drive a real wallet on a phone (create account, add money, send, cash out, issue a card, tap to pay) by clicking the phone itself; the exact Grid API calls render alongside. - Phone wallet adapted from the bread neobank app; Robinhood-style glass card with a cinematic reveal. - Scripted happy path (no live sandbox calls), like the Flow Builder. Docs wiring (mintlify/): new global-accounts/demo.mdx ("See it live", under Introduction), docs.json nav + chrome-hide CSS, style.css full-bleed iframe. Deployment + designer handoff notes in components/grid-wallet-demo/HANDOFF.md. Co-Authored-By: Claude Opus 4.8 (1M context) --- components/grid-wallet-demo/.gitignore | 8 + components/grid-wallet-demo/HANDOFF.md | 164 +++ components/grid-wallet-demo/README.md | 52 + components/grid-wallet-demo/next.config.mjs | 47 + components/grid-wallet-demo/package-lock.json | 1230 +++++++++++++++++ components/grid-wallet-demo/package.json | 28 + .../grid-wallet-demo/src/app/globals.scss | 73 + .../grid-wallet-demo/src/app/layout.tsx | 35 + .../grid-wallet-demo/src/app/page.module.scss | 142 ++ components/grid-wallet-demo/src/app/page.tsx | 158 +++ .../src/components/ApiSteps.module.scss | 200 +++ .../src/components/ApiSteps.tsx | 159 +++ .../src/components/Footer.module.scss | 153 ++ .../src/components/Footer.tsx | 59 + .../src/components/GridWordmark.tsx | 23 + .../src/components/Header.module.scss | 47 + .../src/components/Header.tsx | 16 + .../src/components/LightsparkWordmark.tsx | 28 + .../src/components/Phone.module.scss | 753 ++++++++++ .../grid-wallet-demo/src/components/Phone.tsx | 583 ++++++++ .../src/components/Sidebar.module.scss | 291 ++++ .../src/components/Sidebar.tsx | 161 +++ .../grid-wallet-demo/src/data/actions.ts | 295 ++++ components/grid-wallet-demo/src/data/flow.ts | 139 ++ .../grid-wallet-demo/src/hooks/useTheme.ts | 74 + components/grid-wallet-demo/tsconfig.json | 27 + mintlify/docs.json | 3 +- mintlify/global-accounts/demo.mdx | 70 + mintlify/style.css | 61 + 29 files changed, 5078 insertions(+), 1 deletion(-) create mode 100644 components/grid-wallet-demo/.gitignore create mode 100644 components/grid-wallet-demo/HANDOFF.md create mode 100644 components/grid-wallet-demo/README.md create mode 100644 components/grid-wallet-demo/next.config.mjs create mode 100644 components/grid-wallet-demo/package-lock.json create mode 100644 components/grid-wallet-demo/package.json create mode 100644 components/grid-wallet-demo/src/app/globals.scss create mode 100644 components/grid-wallet-demo/src/app/layout.tsx create mode 100644 components/grid-wallet-demo/src/app/page.module.scss create mode 100644 components/grid-wallet-demo/src/app/page.tsx create mode 100644 components/grid-wallet-demo/src/components/ApiSteps.module.scss create mode 100644 components/grid-wallet-demo/src/components/ApiSteps.tsx create mode 100644 components/grid-wallet-demo/src/components/Footer.module.scss create mode 100644 components/grid-wallet-demo/src/components/Footer.tsx create mode 100644 components/grid-wallet-demo/src/components/GridWordmark.tsx create mode 100644 components/grid-wallet-demo/src/components/Header.module.scss create mode 100644 components/grid-wallet-demo/src/components/Header.tsx create mode 100644 components/grid-wallet-demo/src/components/LightsparkWordmark.tsx create mode 100644 components/grid-wallet-demo/src/components/Phone.module.scss create mode 100644 components/grid-wallet-demo/src/components/Phone.tsx create mode 100644 components/grid-wallet-demo/src/components/Sidebar.module.scss create mode 100644 components/grid-wallet-demo/src/components/Sidebar.tsx create mode 100644 components/grid-wallet-demo/src/data/actions.ts create mode 100644 components/grid-wallet-demo/src/data/flow.ts create mode 100644 components/grid-wallet-demo/src/hooks/useTheme.ts create mode 100644 components/grid-wallet-demo/tsconfig.json create mode 100644 mintlify/global-accounts/demo.mdx diff --git a/components/grid-wallet-demo/.gitignore b/components/grid-wallet-demo/.gitignore new file mode 100644 index 00000000..17d07bc7 --- /dev/null +++ b/components/grid-wallet-demo/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +.next/ +out/ +.vercel/ +*.tsbuildinfo +next-env.d.ts +.env*.local +.DS_Store diff --git a/components/grid-wallet-demo/HANDOFF.md b/components/grid-wallet-demo/HANDOFF.md new file mode 100644 index 00000000..f089ace7 --- /dev/null +++ b/components/grid-wallet-demo/HANDOFF.md @@ -0,0 +1,164 @@ +# Grid Wallet Demo — design handoff + +A first, working pass at an **interactive Global Accounts demo** for the Grid docs — the +neobank/wallet analog of the Flow Builder. It's built to be perfected by design, not shipped as-is. + +This doc is the context dump: what it is, how it's wired, every design decision + where the +inspiration came from, what's faked, and the specific places that want a designer's eye. + +--- + +## What it is + +An embedded, clickable demo that lives at **`docs.lightspark.com/global-accounts/demo`** +("See it live", directly under *Introduction*). A visitor: + +1. Picks a **use case** (Fintech/Neobank live; Social + Marketplace stubbed "Soon"). +2. Picks a **sign-in method** (Passkey / Google / Apple / Email / Phone). +3. **Drives a real wallet on a phone** — create account, add money, send, cash out, issue a card, + tap to pay — in any valid order. +4. Watches the **exact Grid API calls** fire in a panel beside the phone, in sync. + +Goal: a sales- and developer-facing "this is how easy it is" artifact. The phone is the magic; +the API panel is the proof. + +--- + +## How it's wired (mirrors the Flow Builder exactly) + +The Flow Builder (`components/grid-visualizer` → `grid-flow-builder.vercel.app`) is a standalone +Next.js app that the docs page embeds in an `