Simpl-Resultat/src/components/balance
le king fu cd0a2b826f feat(balance): starter accounts + opt-in modal + ADR 0012
Part 1 — New profiles: seed 4 starter accounts in
consolidated_schema.sql (Compte chèque/CELI/REER/Compte
non-enregistré, currency CAD, is_active=1) right after the
balance_categories seeds. Categories resolved via SELECT subquery
on the seeded `key` values for robustness.

Part 2 — Existing profiles: StarterAccountsModal proposes the same
4 starters at first /balance visit. Default-checked checkboxes,
collision rule (case-insensitive trim name + matching category)
disables matches with a "Déjà présent" tooltip. The atomic helper
`proposeStarterAccounts` wraps the inserts in BEGIN/COMMIT (rolls
back on error). user_preferences.balance_starter_proposed records
{shown_at, accepted} so the modal never reappears, dismissed or
confirmed.

Part 3 — docs/adr/0012-balance-two-level-model.md (Proposed):
captures the future vehicles × compositions model for reflection,
no code change. Numbered 0012 because 0011 was already taken by
the providers-best-effort-yahoo ADR. Linked from architecture.md
ADR table and Bilan section.

Tests: StarterAccountsModal.test.tsx covers STARTER_ACCOUNTS shape,
getStarterCollisions (case-insensitive trim, category-scoped) and
proposeStarterAccounts (insert order, COMMIT, ROLLBACK on failure).
No render tests — mirrors the BalanceOnboardingCard pattern (no
jsdom configured).

Resolves #179
2026-05-02 11:59:45 -04:00
..
AccountForm.tsx feat(balance): add asset_type column to balance_categories 2026-04-28 19:54:04 -04:00
BalanceAccountsTable.tsx feat(balance): add LinkTransfersModal + return columns in accounts table 2026-04-25 16:38:24 -04:00
BalanceEvolutionChart.tsx feat(balance): add transfer markers on evolution chart 2026-04-25 16:38:55 -04:00
BalanceOnboardingCard.test.tsx feat(balance): 2-step onboarding card on /balance empty state 2026-05-02 11:48:57 -04:00
BalanceOnboardingCard.tsx feat(balance): 2-step onboarding card on /balance empty state 2026-05-02 11:48:57 -04:00
BalanceOverviewCard.tsx feat(balance): add BalancePage with chart + accounts table 2026-04-25 16:07:04 -04:00
LinkTransfersModal.tsx feat(balance): add LinkTransfersModal + return columns in accounts table 2026-04-25 16:38:24 -04:00
PriceFetchControl.test.tsx feat(prices): PriceFetchControl component + consent modal + best-effort UX 2026-04-27 08:36:23 -04:00
PriceFetchControl.tsx feat(prices): PriceFetchControl component + consent modal + best-effort UX 2026-04-27 08:36:23 -04:00
SnapshotEditor.tsx feat(prices): PriceFetchControl component + consent modal + best-effort UX 2026-04-27 08:36:23 -04:00
SnapshotLineRow.tsx feat(balance): add asset_type column to balance_categories 2026-04-28 19:54:04 -04:00
StarterAccountsModal.test.tsx feat(balance): starter accounts + opt-in modal + ADR 0012 2026-05-02 11:59:45 -04:00
StarterAccountsModal.tsx feat(balance): starter accounts + opt-in modal + ADR 0012 2026-05-02 11:59:45 -04:00