feat(dashboard): add pending/upcoming expenses table

- Backend: GET /expenses/pending-upcoming returns PENDING expenses with dueDate <= today+5 days, classified as overdue/upcoming
- DashboardExpensesTable: groups by periodicExpenseId, shows summed totals with status badges, links to /expenses?periodicExpenseId=X
- Expenses route accepts ?periodicExpenseId search param and pre-selects it in the filter
- fix: BeloAnalysisPage DatePicker type mismatch
This commit is contained in:
Jose Selesan
2026-06-04 10:34:34 -03:00
parent 33248401f7
commit 53a797703e
12 changed files with 269 additions and 5 deletions

View File

@@ -208,6 +208,14 @@ export function getExpenses(
return fetcher<PaginatedResponse<Expense>>(`/api/expenses${qs ? `?${qs}` : ""}`);
}
export type PendingUpcomingExpense = Expense & {
dueType: "overdue" | "upcoming";
};
export function getPendingUpcomingExpenses(): Promise<PendingUpcomingExpense[]> {
return fetcher<PendingUpcomingExpense[]>("/api/expenses/pending-upcoming");
}
export function getTotalPending(): Promise<MonthlyExpensesTotal> {
return fetcher<MonthlyExpensesTotal>("/api/expenses/pending-total");
}