Commit Graph

5 Commits

Author SHA1 Message Date
f8955be4e9 feat(web): filter by ownerId and surface missing-role 401 state
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 08:28:25 +00:00
104ffc4f1d feat: compact task rows + bottom-sheet list picker
- Tasks as dense divided rows: title clamps to 2 lines, note to 1;
  tap a row to expand the full text (was: full-height cards → heavy scroll)
- List switcher moved from top chip row into the thumb zone: a "List" pill
  in the dock opens a bottom sheet with all lists (52px rows, active check)
- Masthead title now shows the selected list; compacted header spacing

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 09:56:41 +00:00
c29f793973 feat: mobile-first redesign (warm notebook aesthetic, thumb-zone capture bar)
- Editorial masthead (Fraunces + Spline Sans), warm paper/ink palette with
  terracotta accent, matching dark mode
- Thumb-zone composer: single capture input + round submit, optional note
  toggle, refocus after add for rapid capture
- Mobile-first CSS: 44-50px touch targets, 16px inputs (no iOS zoom),
  edge-to-edge scroll-snap list chips, safe-area insets, tap-highlight off,
  contained overscroll; desktop as min-width enhancement
- Staggered task-card entrance (reduced-motion aware), themed empty states
- Head: theme-color light/dark, Apple web-app metas, lang attr, font preconnect

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 09:49:45 +00:00
812048a0b5 fix: bootstrap-gate auth before mount (krypto-kuns pattern); never call API unauthenticated
Root cause: the router-guard adapter let index.vue mount and call the API before
auth resolved, so auth.fetch returned a synthetic 401 (the banner) and the package's
redirect-loop guard could strand the user. Now use the core ZitadelAuth and gate in an
async plugin (Nuxt awaits it before mount), mirroring the working krypto-kuns app.
2026-06-10 08:49:01 +00:00
f83bb25316 feat: mobile-first web client (login, lists, add task) 2026-06-10 08:01:39 +00:00