refactor(balance): extract shared rendering components into balance_components.{h,cpp} (audit #10)
First slice of decomposing balance_tab.cpp (3449 lines). The five rendering helpers used by every balance layout — UpdateBalanceLerp, RenderCompactHero, RenderSharedAddressList (599 lines, the drag-reorderable address list), RenderSharedRecentTx, RenderSyncBar — are moved verbatim into balance_components.cpp. balance_tab.cpp is now 2680 lines. Clean extraction: the helpers' interactive statics (drag/copy/hide/show) are function-local and move WITH them; the only file-scope state they share is the balance-lerp animation values (s_dispTotal/Shielded/Transparent/Unconfirmed) and s_generating_z_address, now non-static and declared `extern` in balance_components.h (defined once in balance_tab.cpp, so both TUs share the same objects). RenderCompactHero's default arg moved to the header declaration. The layouts (still in balance_tab.cpp) call the helpers via the new header. Verified: full-node + Windows + lite build (links cleanly -> extern state resolves), tests, hygiene. This touches every layout's address list / recent-tx / hero / sync bar, so needs a hands-on pass across the balance layouts before the next slice. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -435,6 +435,7 @@ set(APP_SOURCES
|
||||
src/ui/notifications.cpp
|
||||
src/ui/windows/main_window.cpp
|
||||
src/ui/windows/balance_tab.cpp
|
||||
src/ui/windows/balance_components.cpp
|
||||
src/ui/windows/balance_address_list.cpp
|
||||
src/ui/windows/balance_recent_tx.cpp
|
||||
src/ui/windows/balance_tab_helpers.cpp
|
||||
|
||||
Reference in New Issue
Block a user