import CONFIG from './config' import LazyImage from '@/components/LazyImage' import replaceSearchResult from '@/components/Mark' import NotionPage from '@/components/NotionPage' import { siteConfig } from '@/lib/config' import { useGlobal } from '@/lib/global' import { isBrowser, scanAndConvertToLinks } from '@/lib/utils' import { Transition } from '@headlessui/react' import Link from 'next/link' import { useRouter } from 'next/router' import { useEffect, useRef } from 'react' import { ArticleLock } from './components/ArticleLock' import BlogPostArchive from './components/BlogPostArchive' import BlogPostListPage from './components/BlogPostListPage' import BlogPostListScroll from './components/BlogPostListScroll' import Card from './components/Card' import Footer from './components/Footer' import Header from './components/Header' import Hero from './components/Hero' import PostHeader from './components/PostHeader' import ProductCategories from './components/ProductCategories' import ProductCenter from './components/ProductCenter' import RightFloatArea from './components/RightFloatArea' import SearchNav from './components/SearchNav' import SlotBar from './components/SlotBar' import TagItemMini from './components/TagItemMini' import TocDrawer from './components/TocDrawer' import { Style } from './style' /** * 基础布局 采用左右两侧布局,移动端使用顶部导航栏 * @param props * @returns {JSX.Element} * @constructor */ const LayoutBase = props => { const { children, post, floatSlot, slotTop, className } = props const { onLoading } = useGlobal() const router = useRouter() // 查找页面上的 链接,并便成为可点击 useEffect(() => { scanAndConvertToLinks(document.getElementById('theme-commerce')) }, [router]) const slotRight = router.route !== '/' && !post && ( ) let headerSlot = null if (router.route === '/' && !post) { headerSlot = JSON.parse(siteConfig('COMMERCE_HOME_BANNER_ENABLE', true)) ? ( ) : ( <> ) } else if (post) { headerSlot = } return (