Commit 3eb08af
[js] gga example app: guided login/manage flows + Advanced (manual) toggle (#28475)
## What
The headline UX change: add opinionated **guided login/manage flows** (each button runs the whole chain, logs every leg, updates the session chip, and owns its intermediate state as flow-local variables) and collapse the raw single-step buttons under a per-section **"Advanced (manual steps)"** toggle.
## Why
P4 example app, PR 5 in `40-example-app-design.md` §1.2/§1.3/§5. The real sequences are multi-step and order-sensitive, enforced only by thrown strings, with intermediate state (target bundle, requestId, payloadToSign, challenge) leaking into visible inputs the user had to shuttle between steps. Guided buttons ("Log in (Email OTP/Passkey/OAuth)", "Add passkey", "Add OAuth", "Delete credential/session", "Export wallet") chain the steps and hold state internally; the manual fields stay available under `<details>` for debugging.
## Place in the stack
Base: #28474 (sandbox/production mode split). Sixth (final) PR of the **P4 example-app** stack — the largest DOM churn, landing last on the now-clean modules + session object.
## Notable points
- Guided flows own intermediate state as flow-local variables instead of DOM inputs; manual single-step buttons preserved (opt-in) for inspecting `requestId`/`payloadToSign` between legs.
- The login-family wiring (flip passkey/oauth to the no-bundle / client-key-is-session model) is **deferred** to a follow-up that depends on P1/P2/P3; `// MIGRATION:` breadcrumbs mark the exact call sites.
- Manual test tool; type gate: `build` + `lint`/`format`.
---
Part of the Turnkey login-family migration program. See `sparkcore/sparkcore/grid/docs/login-migration/00-program-plan.md`.
GitOrigin-RevId: 4de6cbf6b14b4ecea1925ec3ab3e6bc7f40083ed1 parent 9b760c4 commit 3eb08af
5 files changed
Lines changed: 865 additions & 442 deletions
File tree
- apps/examples/grid-global-accounts-example-app
- src/flows
0 commit comments