wulf-pulse/app/mobile
lorentz 5d87455e49 feat(04-02): rewrite mobile tickets list page with URL-synced filters, priority stripes, and IntersectionObserver infinite scroll
Cherry-picked from 04-02 worktree (b27db7d, 4ba89a0). The full worktree merge
included unrelated regressions of phase 2/3 work — only the intended changes
(app/mobile/tickets/page.tsx + SUMMARY.md) were kept.

- Suspense wrapper for useSearchParams (Next.js 16 requirement)
- URL-synced filter state via router.replace
- TicketFilterStrip wired with controlled props
- Priority-stripe rows (border-l-4 with red/orange/amber/slate)
- IntersectionObserver infinite scroll + Load more fallback
- toast.error() in load catch blocks per D-21
- Empty states per D-20
2026-05-03 18:12:00 -04:00
..
analyzer feat(02-01): add /mobile/analyzer placeholder so Analyzer tab does not 404 2026-05-03 16:08:00 -04:00
dashboard feat(03-02): replace mobile dashboard page with 3-section layout 2026-05-03 16:53:35 -04:00
finance feat: QBO sync schedules (2AM + 4PM) + Sync QBO button on mobile finance page 2026-03-23 12:36:02 -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