'use client' import Comment from '@/components/Comment' import replaceSearchResult from '@/components/Mark' import NotionPage from '@/components/NotionPage' import ShareBar from '@/components/ShareBar' import { siteConfig } from '@/lib/config' import { useGlobal } from '@/lib/global' import { isBrowser } from '@/lib/utils' import { Transition } from '@headlessui/react' import Link from 'next/link' import { useRouter } from 'next/router' import { useEffect } from 'react' import BlogListArchive from './components/BlogListArchive' import { BlogListPage } from './components/BlogListPage' import { BlogListScroll } from './components/BlogListScroll' import { Footer } from './components/Footer' import { Header } from './components/Header' import { PostLock } from './components/PostLock' import { PostMeta } from './components/PostMeta' import SearchInput from './components/SearchInput' import { SideBar } from './components/SideBar' import TitleBar from './components/TitleBar' import CONFIG from './config' import { Style } from './style' /** * 基础布局框架 * 1.其它页面都嵌入在LayoutBase中 * 2.采用左右两侧布局,移动端使用顶部导航栏 * @returns {JSX.Element} * @constructor */ const LayoutBase = props => { const { children, post } = props const { onLoading, fullWidth, locale } = useGlobal() // 文章详情页左右布局改为上下布局 const LAYOUT_VERTICAL = post && siteConfig('EXAMPLE_ARTICLE_LAYOUT_VERTICAL', false, CONFIG) // 网站左右布局颠倒 const LAYOUT_SIDEBAR_REVERSE = siteConfig('LAYOUT_SIDEBAR_REVERSE', false) return (