import debug from 'debug'; import { Outlet } from 'react-router-dom'; import TwoPanelLayout from '../../layout/TwoPanelLayout'; import { SettingsLayoutProvider } from './SettingsLayoutContext'; import SettingsSidebar from './SettingsSidebar'; import SettingsSubNav from './SettingsSubNav'; const log = debug('settings:layout'); /** * Two-pane settings shell, built on the reusable {@link TwoPanelLayout}. * * The grouped navigation sidebar is always shown and the layout spans the full * width of the page; the sidebar is resizable (drag the divider) and its width * persists per user via the `layout` slice (id `settings`). Each pane scrolls * independently, so the nav and the routed panel never fight over one * scrollbar. */ const SettingsLayout = () => { log('render'); return ( }> {/* Bounded flex column: the sub-nav chips stay pinned at the top while the routed panel owns the only vertical scroll (its WrappedSettingsPage / PanelScaffold). No scroll here — that's what caused the page to scroll twice. */}
); }; export default SettingsLayout;