mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Polish the queued-download state of the encrypted key backup flow (Download clicked while the background KDF is still running): - EncryptedBackupCreator.tsx: the disabled Download button now shows a vertical ticker instead of a static label, cycling "Downloading once finished" / "Encrypting your password" / "Just a bit longer..." every 2.5s. The stacked column slides up inside a one-line clipped viewport (300ms ease-out, motion-reduce safe) and ends with a clone of the first message so the loop wraps from the same bottom origin, then snaps back to the real first row with the transition disabled once the clone settles. All lines render at all times, so the button holds the width of the longest message, and the viewport is aria-live=polite for screen readers. - While the download is queued, the password field flips back to masked and the reveal (eye) toggle disables, so the passphrase isn't left readable on screen while the user waits for the native save dialog (input and generator popover were already locked in this state). Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
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 frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm 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