fix(ui): expand session dialogs and repeat confirmation actions
Publish documentation / publish (push) Successful in 24s
Publish documentation / publish (push) Successful in 24s
This commit is contained in:
@@ -117,8 +117,7 @@ export function AppShell({ canLogout }: AppShellProps) {
|
||||
resizing: sessionResizing,
|
||||
separatorProps: sessionSeparatorProps,
|
||||
} = useSessionPanelResize(containerRef, panelSession !== null);
|
||||
// Publish the app area's horizontal geometry so viewport-fixed dialogs center on
|
||||
// the application area rather than the whole browser window.
|
||||
// Publish the visible app bounds for dialogs, including embedded portal layouts.
|
||||
useEffect(() => {
|
||||
const el = containerRef.current;
|
||||
if (!el) return;
|
||||
@@ -127,16 +126,23 @@ export function AppShell({ canLogout }: AppShellProps) {
|
||||
const r = el.getBoundingClientRect();
|
||||
doc.style.setProperty("--app-area-left", `${r.left}px`);
|
||||
doc.style.setProperty("--app-area-width", `${r.width}px`);
|
||||
const top = Math.max(0, r.top);
|
||||
doc.style.setProperty("--app-area-top", `${top}px`);
|
||||
doc.style.setProperty("--app-area-height", `${Math.max(0, Math.min(window.innerHeight, r.bottom) - top)}px`);
|
||||
};
|
||||
publish();
|
||||
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(publish);
|
||||
observer?.observe(el);
|
||||
window.addEventListener("resize", publish);
|
||||
window.addEventListener("scroll", publish, true);
|
||||
return () => {
|
||||
observer?.disconnect();
|
||||
window.removeEventListener("resize", publish);
|
||||
window.removeEventListener("scroll", publish, true);
|
||||
doc.style.removeProperty("--app-area-left");
|
||||
doc.style.removeProperty("--app-area-width");
|
||||
doc.style.removeProperty("--app-area-top");
|
||||
doc.style.removeProperty("--app-area-height");
|
||||
};
|
||||
}, [containerRef]);
|
||||
const panelWidthsStyle = {
|
||||
|
||||
Reference in New Issue
Block a user