import React, { useEffect, useState } from 'react' import Sidebar from './sidebar' import PageHeader from './header' import { useTheme } from 'components' import TabbarMobile from './sidebar/tabbar-mobile' import useBodyScroll from 'components/utils/use-body-scroll' import { useConfigs } from '../config-context' export interface Meta { title: string } export interface Props { meta: Meta getStaticProps?: any } export const Layout: React.FC> = React.memo( ({ children, meta }) => { const theme = useTheme() const [showAfterRender, setShowAfterRender] = useState(false) const { tabbarFixed } = useConfigs() const [, setBodyScroll] = useBodyScroll(null, { scrollLayer: true }) const [expanded, setExpanded] = useState(false) const mobileTabbarClickHandler = () => { setExpanded(!expanded) setBodyScroll(!expanded) } useEffect(() => setShowAfterRender(true), []) if (!showAfterRender) return (
{children}
) return (
{children}
) }, ) export default Layout