- CompanySwitcher: Use useMyCompanies() hook instead of mockCompanies
- FiscalYearSelector: Use useFiscalYears() hook instead of mockFiscalYears
- Kontooversigt: Use useAccounts() and useAccountBalances() hooks
- Kassekladde: Use useActiveAccounts() and useJournalEntryDrafts() hooks
- Bankafstemning: Use useActiveBankConnections() and usePendingBankTransactions()
- Dashboard: Calculate metrics from useAccountBalances(), useInvoices(), useVatReport()
All components now show loading skeletons and empty states appropriately.
Closes books-ljg
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Uses the DemoDataDisclaimer component to inform users that data
shown on these pages is for demonstration purposes only.
Closes books-wzq
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Backend (.NET 10):
- EventFlow CQRS/Event Sourcing with PostgreSQL
- GraphQL.NET API with mutations and queries
- Custom ReadModelSqlGenerator for snake_case PostgreSQL columns
- Hangfire for background job processing
- Integration tests with isolated test databases
Frontend (React/Vite):
- Initial project structure
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>