src/theme/DocRoot/Layout/index.tsx (26 lines of code) (raw):

import React, {useState} from 'react'; import {useDocsSidebar} from '@docusaurus/theme-common/internal'; import BackToTopButton from '@theme/BackToTopButton'; import DocRootLayoutSidebar from '@theme/DocRoot/Layout/Sidebar'; import DocRootLayoutMain from '@theme/DocRoot/Layout/Main'; import type {Props} from '@theme/DocRoot/Layout'; import styles from './styles.module.scss'; export default function DocRootLayout({children}: Props): JSX.Element { const sidebar = useDocsSidebar(); const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false); return ( <div className={styles.docsWrapper}> <BackToTopButton /> <div className={styles.docRoot}> {sidebar && ( <DocRootLayoutSidebar sidebar={sidebar.items} hiddenSidebarContainer={hiddenSidebarContainer} setHiddenSidebarContainer={setHiddenSidebarContainer} /> )} <DocRootLayoutMain hiddenSidebarContainer={hiddenSidebarContainer}> {children} </DocRootLayoutMain> </div> </div> ); }