mirror of
https://github.com/warmbly/warmbly.git
synced 2026-10-04 08:02:01 +00:00
feat: animate unibox rows out in the direction of the action (archive, trash, back to inbox, snooze) with a labelled underlay and in with a fade or grow, keep the list mounted so bulk exits play and give re-entering keys a fresh presence key so a refilling list never strands archived rows, fade new pages in at full height so infinite scroll stops chaining every page, batch bulk archive/read/snooze requests under the 500-id cap, show an all-caught-up state and an animated selection bar, and page the conversation list from the last returned row so no conversation is skipped at a page boundary
Warmbly Web App
React + TypeScript frontend for Warmbly.
Stack
- React 19
- Vite (Rolldown)
- TypeScript
- TanStack Query
- Zustand
- Tailwind CSS 4
Prerequisites
- Node.js 20+
- pnpm 10+
Setup
cd web
pnpm install
cp .env.example .env
Run
pnpm dev
Default dev URL: http://localhost:5173
Quality Checks
pnpm lint
pnpm test:run
pnpm build
Project Layout
src/approute pages and layoutssrc/componentsUI and feature componentssrc/lib/apiAPI clients, hooks, and modelssrc/storesZustand store slices