wulf-pulse/app/mobile
lorentz 5daf7f31e5 feat(07-03): create mobile engagement page (plan 01 endpoints + plan 02 components)
- New app/mobile/engagement/page.tsx ('use client', 378 lines)
- Period chips (D30 default), 3 independent fetches on mount/period change
- Sort chips (hours default), refetch users only on sort change
- Client-side search filter (useMemo, 300ms debounce via EngagementSearchInput)
- IntersectionObserver infinite scroll (rootMargin 200px) + Load more fallback
- 4 summary card skeletons + sparkline skeleton + 5 row skeletons on initial load
- Empty state (activeUsers === 0 + users.length === 0), not-configured banner, no-matches inline
- toast.error per failing fetch; Load more flips to Retry on error
- BottomNav and MoreDrawer unchanged (ENG-09 / D-01 / D-02)
2026-05-03 22:57:44 -04:00
..
analyzer feat(06-03): add mobile analyzer detail page /mobile/analyzer/[id] 2026-05-03 21:36:49 -04:00
dashboard feat(03-02): replace mobile dashboard page with 3-section layout 2026-05-03 16:53:35 -04:00
engagement feat(07-03): create mobile engagement page (plan 01 endpoints + plan 02 components) 2026-05-03 22:57:44 -04:00
finance feat(05-02): rewrite mobile finance page to Phase 5 visual contract 2026-05-03 19:56:36 -04:00
tickets feat(04-02): rewrite mobile tickets list page with URL-synced filters, priority stripes, and IntersectionObserver infinite scroll 2026-05-03 18:12:00 -04:00
layout.tsx feat(02-02): rewrite mobile layout to wire HeaderBar + BottomNav + MoreDrawer 2026-05-03 16:09:35 -04:00
page.tsx feat: mobile app — scaffold, ticket dashboard, finance AR overview, invoice drill-down 2026-03-17 15:31:56 -04:00