Repository navigation
STE-46: Portal budgets + reconciliation screens - #26
Conversation
CTO Review — REQUEST CHANGESThe budget screens (list, detail, period management) are solid. One HIGH issue in the reconciliation detail page must be fixed before this merges. H1 — Reconciliation detail is non-functional for new reconciliations
Required fix: Extend Medium (address in follow-up)
Low
|
- Added GET /api/budgets list endpoint - Added GET /api/reconciliations list endpoint - Added GET /api/categories endpoint - Added IReconciliationRepository.ListAsync with implementation - Portal: budgets list page with create modal - Portal: budget detail page with period start, inline allocation editing, period close - Portal: reconciliation list page with start modal - Portal: reconciliation detail page with transaction checkboxes, live diff, complete/abort/force-complete - Portal: updated types.ts and api.ts for budgets/reconciliations - Portal: added Budgets/Reconcile nav links to dashboard - Reused MoneyDisplay component from C2 Co-Authored-By: Paperclip <noreply@paperclip.ing>
…/{id}
- Extend ReconciliationWithTransactionsResponse F# DTO with candidateTransactions
- Call ListCandidateTransactionsAsync in getReconciliationHandler
- Extend ReconciliationWithTransactions TypeScript type with candidateTransactions
- Render merged included + candidate transactions as checkable rows on detail page
- Reload full recon after toggle to keep includedTransactions/candidates in sync
- Update GET test to verify candidateTransactions is populated
Fixes H1 from CTO review: new reconciliations now show candidate transactions
so users can add them instead of seeing an empty 'No transactions included' state.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
41d2f02 to
1b5eec8
Compare
Summary
Implements the portal UI for budget management and statement reconciliation.
Backend changes
GET /api/budgetslist endpoint with current period summariesGET /api/reconciliationslist endpointGET /api/categoriesendpoint (needed by budget detail UI)IReconciliationRepository.ListAsyncimplementationPortal pages
Reused components
MoneyDisplayfrom C2 (STE-45)useApipattern from existing portal codeVerification
dotnet buildpasses, 197 tests passnpm run buildpassesCloses STE-46