BillTracker/client
null 831f617893 v0.26.0: dual-column XLSX import parser
- detectAllHeaderSets() finds multiple header groups per row (left 1st / right 15th)
- isBlankRowForHeaderSet() checks blanks per column range for dual layouts
- parseSheetRows() scans rows 0-4 for header row, processes each set independently
- analyzeRow() computes due_day from date/label/pattern with fallback to defaultDueDay
- Cell type validation allows 's' (shared formula) type
- Non-numeric amounts (auto, double pay, past due) become detected labels
- Day patterns (1st, 15th, 24th) parsed as due_day values
- Security: bounds validation in isBlankRowForHeaderSet, anchored regex, label sanitization
2026-05-11 22:13:37 -05:00
..
components v0.25.0: roadmap redesign, import CSRF fix, AdminDashboard removed 2026-05-11 21:42:36 -05:00
contexts initial commit 2026-05-03 19:51:57 -05:00
hooks v0.22.0: React Query Migration 2026-05-10 03:10:43 -05:00
lib v0.26.0: dual-column XLSX import parser 2026-05-11 22:13:37 -05:00
pages v0.25.0: roadmap redesign, import CSRF fix, AdminDashboard removed 2026-05-11 21:42:36 -05:00
public/img logo 2026-05-03 22:33:21 -05:00
App.jsx v0.25.0: roadmap redesign, import CSRF fix, AdminDashboard removed 2026-05-11 21:42:36 -05:00
api.js v0.25.0: roadmap redesign, import CSRF fix, AdminDashboard removed 2026-05-11 21:42:36 -05:00
index.css v0.20.0: admin dashboard with roadmap and activity log 2026-05-09 21:14:21 -05:00
main.jsx v0.24.3: Session fixes, activity log corrections, UI polish 2026-05-11 13:39:48 -05:00