fix(market): portfolio modal — hover assert, cut-off footer, plain heading, FX bleed, bigger delete icon
- Fix the ImGui error on hovering a group row: the per-row delete was an overlapping InvisibleButton + SetCursorScreenPos over the row Selectable. Replace it with a manual IsMouseHoveringRect / IsMouseClicked hit-test (no overlapping ImGui item, no cursor manipulation). - Delete icon is larger (iconMed) and inset from the row edge (spacingMd). - Footer no longer clipped: reserve 56px for the 40px buttons + separator. - Manage-portfolio heading is now plain text (h6) with no title-bar background or divider — content floats on the backdrop. - Sidebar theme-effect borders no longer bleed through the overlay: suppress panel theme-effects frame-wide (RAII guard in App::render via ui::PortfolioEditorActive) while the modal is open, instead of only during the market render. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
11
src/app.cpp
11
src/app.cpp
@@ -1243,6 +1243,17 @@ void App::render()
|
||||
// Process deferred encryption from wizard (runs in background)
|
||||
processDeferredEncryption();
|
||||
|
||||
// While the full-window portfolio modal is open, suppress panel theme-effects for the whole
|
||||
// frame so their foreground-draw-list borders (sidebar included) don't bleed over the overlay.
|
||||
// RAII-restored to the prior state on any return path.
|
||||
struct FxSuppressGuard {
|
||||
bool active;
|
||||
explicit FxSuppressGuard(bool on) : active(on) {
|
||||
if (active) ui::effects::ThemeEffects::instance().setEnabled(false);
|
||||
}
|
||||
~FxSuppressGuard() { if (active) ui::effects::ThemeEffects::instance().setEnabled(true); }
|
||||
} fxGuard(ui::PortfolioEditorActive() && ui::effects::ThemeEffects::instance().isEnabled());
|
||||
|
||||
// Main content area - use full window (no menu bar)
|
||||
ImGuiViewport* viewport = ImGui::GetMainViewport();
|
||||
ImGui::SetNextWindowPos(viewport->WorkPos);
|
||||
|
||||
Reference in New Issue
Block a user