Files
buzz/desktop
Taylor Ho 88d0c59689 feat(onboarding): add perceived key-creation loading state to backup step
- BackupStep.tsx: replace the static "Account created!" landing with a
  two-phase intro driven by a 1.4s timer (INTRO_HOLD_MS):
  - Loading phase: title "Creating your identity key" with the animated
    FuzzyLogo mark rendered in place of the body content; description,
    Keycase card, and footer CTAs are withheld
  - Finished phase: title swaps to "Your unique identity key has been
    created" with new copy ("Your identity key will be saved to your
    keychain. Back it up somewhere safe so you can restore your account.
    Never share your key."), and the Keycase flow + footer fade in via
    animate-in fade-in (700ms, disabled under prefers-reduced-motion)
- Unify the previously mode-dependent (encrypted vs raw) header copy into
  the single new description string
- Use plain string concat for the h1 classes: cn()'s tailwind-merge
  misreads the custom text-title size token as conflicting with
  text-foreground and drops it
- onboarding-backup.spec.ts: assert the loading -> finished title/logo
  sequence, and wait for the intro logo to unmount before screenshots so
  captures are deterministic

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-28 13:11:35 -07:00
..
…

Buzz

Desktop chat shell with:

  • Tauri + React + TypeScript + Vite
  • Tailwind CSS
  • shadcn/ui-ready shared components
  • Biome (lint/format/check)
  • Feature-driven frontend structure

Scripts

  • pnpm dev - run the web frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm format - Biome format (write)
  • pnpm check - Biome check

Structure

  • src/shared - reusable app-wide code (ui, lib, styles)
  • src/features - feature modules (vertical slices)
  • src/app - top-level app composition