SplitBankTransactionAsync ended with NavigateTo(forceLoad: true), which
tore down the SignalR circuit and re-ran every repo constructor just
to refresh the pending-bookings list. Extract data loading into a
LoadDataAsync helper called from OnInitializedAsync, SplitBank
TransactionAsync, and OnCompletedAsync — the page refreshes in-circuit,
scoped caches survive, and the NavigationManager injection can go.
Also flags the plan: U-4 is split into U-4a (this) and U-4b (persist
settings + drop MyHeader's forceLoad, touching ~15 pages).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
UI-focused analysis complementing IMPROVEMENT_PLAN.md: 4 real bugs,
first-render null-guard inconsistency, Home page overload, report /
list-page visual-language split, missing error boundaries, missing
mutation feedback, missing search on grid pages, and a handful of
minor rough edges. Phased into 7 phases (U-1 .. U-12 plus
nice-to-haves) sequenced by value / risk.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>