BillTracker/client
null db1be4b0bd fix(tracker): pin-Due sort uses reconciled status; add filtered-empty state
- Pin-upcoming sort ranked on raw row.status, so a bill paid-by-threshold
  but still carrying a stale 'late'/'missed' status was pinned to the top.
  Rank on rowEffectiveStatus (same source the overdue filter uses) so it
  sorts to the bottom instead.
- Filtering to zero results showed a blank content area (rows.length checks
  the unfiltered list). Add a "No bills match your filters" state with a
  Clear-filters action.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 14:35:03 -05:00
..
components fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
contexts refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
hooks refactor(ts): close the 4 client any's + document a best-effort catch (Phase 1b) 2026-07-05 13:13:32 -05:00
lib fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
pages fix(tracker): pin-Due sort uses reconciled status; add filtered-empty state 2026-07-05 14:35:03 -05:00
public/img refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
App.tsx refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
api.ts refactor(ts): close the 4 client any's + document a best-effort catch (Phase 1b) 2026-07-05 13:13:32 -05:00
index.css feat(settings): safe-to-spend toggle, move notifications from Profile to Settings, fix dark-mode readability 2026-06-12 01:52:48 -05:00
main.tsx refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
types.ts refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -05:00