import CONFIG from './config' import { createContext, useContext, useEffect, useState } from 'react' import Header from './components/Nav' import { useGlobal } from '@/lib/global' import BLOG from '@/blog.config' import { BlogListPage } from './components/BlogListPage' import { BlogListScroll } from './components/BlogListScroll' import { isBrowser } from '@/lib/utils' import SearchNavBar from './components/SearchNavBar' import BlogArchiveItem from './components/BlogArchiveItem' import { ArticleLock } from './components/ArticleLock' import NotionPage from '@/components/NotionPage' import { ArticleInfo } from './components/ArticleInfo' import Comment from '@/components/Comment' import { ArticleFooter } from './components/ArticleFooter' import ShareBar from '@/components/ShareBar' import Link from 'next/link' import { Transition } from '@headlessui/react' import BottomNav from './components/BottomNav' import Modal from './components/Modal' import { Style } from './style' import replaceSearchResult from '@/components/Mark' import CommonHead from '@/components/CommonHead' // 主题全局状态 const ThemeGlobalPlog = createContext() export const usePlogGlobal = () => useContext(ThemeGlobalPlog) /** * 基础布局 采用左右两侧布局,移动端使用顶部导航栏 * @returns {JSX.Element} * @constructor */ const LayoutBase = props => { const { children, topSlot, meta } = props const { onLoading } = useGlobal() const [showModal, setShowModal] = useState(false) const [modalContent, setModalContent] = useState(null) return (
{/* SEO相关 */}