Move workspace popover to window root + dismiss on outside click
Previously the disclosure was an absolute child of the picker row, clipped by the sidebar's overflow_hidden, with no way for an outside click to close it. Real popovers (Arc, Linear, Raycast) close the moment you click anywhere else, and they spill past their host container so a long workspace list isn't cut at the sidebar edge. Lift the disclosure to the render_browser tree: * `render_workspace_disclosure_backdrop` paints a fullscreen transparent layer that closes the picker on mouse-down — no on_click so the close fires immediately, before any synthetic click. * `render_workspace_disclosure` paints next, pinned to fixed window-relative anchor coords (top 98, left 66, width 180) that match the picker pill's row in the default sidebar layout. The picker row inside the sidebar header drops the inline disclosure child entirely. cargo test --workspace: 440 passed, 0 failed.
This commit is contained in:
@@ -24,7 +24,9 @@ pub(crate) use home::render_home_page;
|
||||
pub(crate) use plugin_detail_view::render_plugin_detail_view;
|
||||
pub(crate) use settings_layout::render_settings_landing;
|
||||
pub(crate) use sidebar::{panel_bg, panel_shadow};
|
||||
pub(crate) use sidebar_header::render_sidebar_header;
|
||||
pub(crate) use sidebar_header::{
|
||||
render_sidebar_header, render_workspace_disclosure, render_workspace_disclosure_backdrop,
|
||||
};
|
||||
pub(crate) use split_pane::{
|
||||
pane_host_label, pane_url_is_secure, render_compact_split_canvas,
|
||||
render_split_pane_header,
|
||||
|
||||
Reference in New Issue
Block a user