feat(#36): receitas recorrentes com confirmação de salário até dia 5

- Migration 009: coluna `type` em recurring_expenses + tabela recurring_late
- API Go: tipo income/expense em CRUD; endpoints POST /confirm e /late
- Dashboard: campo pending_income_recurrings na resposta
- Frontend: RecurringView com seções RECEITAS e DESPESAS separadas
- HomeView: widget de confirmação (dia 1-5) e badge SALÁRIO PENDENTE (pós dia 5)
- Testes unitários: 4 novos casos (income covered, late, confirm, reject expense)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
2026-05-27 15:00:28 -03:00
co-authored by Claude Sonnet 4.6
parent 1931271b76
commit 79f4a62a1b
16 changed files with 725 additions and 77 deletions
+9
View File
@@ -25,6 +25,14 @@ export interface RecentTransaction {
type: 'income' | 'expense'
}
export interface PendingIncome {
id: number
name: string
expected_amount: number
day_of_month: number
late: boolean
}
export interface DashboardData {
month: string
total_income: number
@@ -35,6 +43,7 @@ export interface DashboardData {
monthly_evolution: MonthEvolution[]
recent_transactions: RecentTransaction[]
pending_recurring: number
pending_income_recurrings: PendingIncome[]
}
export const useDashboardStore = defineStore('dashboard', () => {