'use client' import CONFIG from './config' import TopNav from './components/TopNav' import AsideLeft from './components/AsideLeft' import { isBrowser } from '@/lib/utils' import { useGlobal } from '@/lib/global' import BlogListPage from './components/BlogListPage' import BlogListScroll from './components/BlogListScroll' import BlogArchiveItem from './components/BlogPostArchive' import ArticleDetail from './components/ArticleDetail' import ArticleLock from './components/ArticleLock' import TagItemMini from './components/TagItemMini' import { useRouter } from 'next/router' import { createContext, useContext, useEffect } from 'react' import Link from 'next/link' import { Transition } from '@headlessui/react' import dynamic from 'next/dynamic' import { AdSlot } from '@/components/GoogleAdsense' import { Style } from './style' import replaceSearchResult from '@/components/Mark' import { siteConfig } from '@/lib/config' import WWAds from '@/components/WWAds' const Live2D = dynamic(() => import('@/components/Live2D')) // 主题全局状态 const ThemeGlobalFukasawa = createContext() export const useFukasawaGlobal = () => useContext(ThemeGlobalFukasawa) /** * 基础布局 采用左右两侧布局,移动端使用顶部导航栏 * @param children * @param layout * @param tags * @param meta * @param post * @param currentSearch * @param currentCategory * @param currentTag * @param categories * @returns {JSX.Element} * @constructor */ const LayoutBase = (props) => { const { children, headerSlot } = props const leftAreaSlot = const { onLoading, fullWidth } = useGlobal() return (