import Comment from '@/components/Comment' import { AdSlot } from '@/components/GoogleAdsense' import replaceSearchResult from '@/components/Mark' import NotionPage from '@/components/NotionPage' import ShareBar from '@/components/ShareBar' import { siteConfig } from '@/lib/config' import { deepClone, isBrowser } from '@/lib/utils' import Link from 'next/link' import { useRouter } from 'next/router' import { createContext, useContext, useEffect, useRef, useState } from 'react' import Announcement from './components/Announcement' import { ArticleFooter } from './components/ArticleFooter' import { ArticleInfo } from './components/ArticleInfo' import { ArticleLock } from './components/ArticleLock' import BlogArchiveItem from './components/BlogArchiveItem' import { BlogListPage } from './components/BlogListPage' import { BlogListScroll } from './components/BlogListScroll' import { Footer } from './components/Footer' import Header from './components/Header' import NavBar from './components/NavBar' import SearchNavBar from './components/SearchNavBar' import SideBarContent from './components/SideBarContent' import SideBarDrawer from './components/SideBarDrawer' import CONFIG from './config' import { Style } from './style' // const AlgoliaSearchModal = dynamic(() => import('@/components/AlgoliaSearchModal'), { ssr: false }) // 主题全局状态 const ThemeGlobalGame = createContext() export const useGameGlobal = () => useContext(ThemeGlobalGame) /** * 基础布局 采用左右两侧布局,移动端使用顶部导航栏 * @returns {JSX.Element} * @constructor */ const LayoutBase = props => { const { allNavPages, children } = props // const fullWidth = post?.fullWidth ?? false // const { onLoading } = useGlobal() const searchModal = useRef(null) // 在列表中进行实时过滤 const [filterKey, setFilterKey] = useState('') const [filterGames, setFilterGames] = useState(deepClone(allNavPages?.filter(item => item.recommend))) const [recentGames, setRecentGames] = useState([]) const [sideBarVisible, setSideBarVisible] = useState(false) useEffect(() => { setRecentGames(localStorage.getItem('recent_games') ? JSON.parse(localStorage.getItem('recent_games')) : []) }, []) return (