diff --git a/admin-spa/src/routes/Settings/components/SettingsLayout.tsx b/admin-spa/src/routes/Settings/components/SettingsLayout.tsx index a771052..fe0d036 100644 --- a/admin-spa/src/routes/Settings/components/SettingsLayout.tsx +++ b/admin-spa/src/routes/Settings/components/SettingsLayout.tsx @@ -33,11 +33,31 @@ export function SettingsLayout({ } }; + // Detect fullscreen mode + const [isFullscreen, setIsFullscreen] = React.useState(false); + + React.useEffect(() => { + const checkFullscreen = () => { + setIsFullscreen(document.querySelector('.woonoow-fullscreen-root') !== null); + }; + + checkFullscreen(); + // Re-check on route changes or mode toggles + const observer = new MutationObserver(checkFullscreen); + observer.observe(document.body, { attributes: true, attributeFilter: ['class'], subtree: true }); + + return () => observer.disconnect(); + }, []); + + // In fullscreen: submenu is inside scrollable area, so offset by submenu height (49px) + // In WP-Admin: submenu is outside scrollable area, so no offset needed (top-0) + const stickyTop = isFullscreen ? 'top-[49px]' : 'top-0'; + return (