ultisuite-client/lib/stores
2026-05-20 16:01:08 +02:00
..
account-store.ts huhu 2026-05-19 22:20:43 +02:00
debounced-json-storage.ts major perf improvements 2026-05-15 23:51:57 +02:00
hydration.ts First commit, not a small one 2026-05-15 17:40:17 +02:00
mail-search-store.ts Huhu 2026-05-20 14:06:44 +02:00
mail-settings-store.ts huhu 2026-05-19 22:20:43 +02:00
mail-store.ts major perf improvements 2026-05-15 23:51:57 +02:00
mail-ui-store.ts before split 2 2026-05-20 16:01:08 +02:00
nav-store.ts Massive upgrades 2026-05-16 20:30:50 +02:00
README.md before split 2 2026-05-20 16:01:08 +02:00
scheduled-store.ts Massive upgrades 2026-05-16 20:30:50 +02:00

Mail stores (Zustand)

Persisted (debounced-json-storage / persist)

  • mail-store — read/star/important overrides, label edits, recent folder visits
  • mail-settings-store — density, conversation mode, sort, display prefs
  • nav-store — sidebar folder/label tree, disabled nav labels
  • account-store — active account
  • scheduled-store — scheduled send queue

Ephemeral UI (session only)

  • mail-search-store — search input, dropdown, filter chips before URL submit
  • mail-ui-store — shell chrome: sidebar collapsed, mobile search overlay, folder unread badges

Rules

  • URL is source of truth for folder, inbox tab, page, open message (useMailRoute + mail-url.ts)
  • Search results use query params on /mail/search (SearchParams); bar/overlay state syncs via submitMailSearch in lib/mail-search/navigate.ts
  • Do not persist ephemeral UI unless product explicitly requires it