import React, { useEffect } from 'react'; import { Box, useColorMode, Flex } from '@chakra-ui/react'; import Navbar from './navbar'; import NavbarPhone from './navbarPhone'; import { useRouter } from 'next/router'; import { useScreen } from '@/hooks/useScreen'; import { useLoading } from '@/hooks/useLoading'; import Auth from './auth'; import { useGlobalStore } from '@/store/global'; const unShowLayoutRoute: { [key: string]: boolean } = { '/login': true, '/chat': true }; const navbarList = [ { label: '介绍', icon: 'icon-gongzuotai-01', link: '/', activeLink: ['/'] }, { label: '模型', icon: 'icon-moxing', link: '/model/list', activeLink: ['/model/list', '/model/detail'] }, // { // label: '数据', // icon: 'icon-datafull', // link: '/data/list', // activeLink: ['/data/list', '/data/detail'] // }, { label: '账号', icon: 'icon-yonghu-yuan', link: '/number/setting', activeLink: ['/number/setting'] } ]; const Layout = ({ children }: { children: JSX.Element }) => { const { isPc } = useScreen(); const router = useRouter(); const { colorMode, setColorMode } = useColorMode(); const { Loading } = useLoading({ defaultLoading: true }); const { loading } = useGlobalStore(); useEffect(() => { if (colorMode === 'dark' && router.pathname !== '/chat') { setColorMode('light'); } }, [colorMode, router.pathname, setColorMode]); return ( <> {!unShowLayoutRoute[router.pathname] ? ( {isPc ? ( <> {children} ) : ( {children} )} ) : ( <>{children} )} {loading && } ); }; export default Layout;