Added a single isPaidStatus(status) (+ PAID_STATUSES) to statusService and a matching client helper in trackerUtils, routing the unambiguous settled-status checks through it (trackerService, StatusBadge, CalendarPage, rowIsPaid). The intentionally paid-only counts stay distinct. Replaced two inline Math.max(r.balance||0,0) with rowOutstanding, and gave the Tracker settings load a quiet toast instead of a silent swallow. Behavior-preserving. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| pages | ||
| public/img | ||
| App.jsx | ||
| api.js | ||
| index.css | ||
| main.jsx | ||