diff --git a/pages/index.js b/pages/index.js index 542500fb..7fac472b 100644 --- a/pages/index.js +++ b/pages/index.js @@ -5,12 +5,22 @@ import * as ThemeMap from '@/themes' import { useGlobal } from '@/lib/global' import { generateRss } from '@/lib/rss' import { generateRobotsTxt } from '@/lib/robots.txt' + +/** + * 首页布局 + * @param {*} props + * @returns + */ const Index = props => { const { theme } = useGlobal() const ThemeComponents = ThemeMap[theme] return } +/** + * SSG 获取数据 + * @returns + */ export async function getStaticProps() { const from = 'index' const props = await getGlobalNotionData({ from }) diff --git a/themes/next/LayoutBase.js b/themes/next/LayoutBase.js index 37e7c21f..0f0f535d 100644 --- a/themes/next/LayoutBase.js +++ b/themes/next/LayoutBase.js @@ -8,8 +8,7 @@ import SideAreaLeft from './components/SideAreaLeft' import SideAreaRight from './components/SideAreaRight' import TopNav from './components/TopNav' import { useGlobal } from '@/lib/global' -import PropTypes from 'prop-types' -import React from 'react' +import { useEffect, useRef, useState } from 'react' import CONFIG_NEXT from './config_next' import Live2D from '@/components/Live2D' import BLOG from '@/blog.config' @@ -22,12 +21,13 @@ import BLOG from '@/blog.config' const LayoutBase = (props) => { const { children, headerSlot, meta, sideBarSlot, floatSlot, rightAreaSlot, siteInfo } = props const { onLoading } = useGlobal() - const targetRef = React.useRef(null) - const floatButtonGroup = React.useRef(null) + const targetRef = useRef(null) + const floatButtonGroup = useRef(null) const leftAreaSlot = - const [show, switchShow] = React.useState(false) - const [percent, changePercent] = React.useState(0) // 页面阅读百分比 + const [showRightFloat, switchShow] = useState(false) + const [percent, changePercent] = useState(0) // 页面阅读百分比 + const scrollListener = () => { const targetRef = document.getElementById('wrapper') const clientHeight = targetRef?.clientHeight @@ -37,13 +37,13 @@ const LayoutBase = (props) => { if (per > 100) per = 100 const shouldShow = scrollY > 100 && per > 0 - if (shouldShow !== show) { + if (shouldShow !== showRightFloat) { switchShow(shouldShow) } changePercent(per) } - React.useEffect(() => { + useEffect(() => { // facebook messenger 插件需要调整右下角悬浮按钮的高度 const fb = document.getElementsByClassName('fb-customerchat') if (fb.length === 0) { @@ -54,7 +54,7 @@ const LayoutBase = (props) => { document.addEventListener('scroll', scrollListener) return () => document.removeEventListener('scroll', scrollListener) - }, [show]) + }, [showRightFloat]) return (
@@ -78,7 +78,7 @@ const LayoutBase = (props) => { {/* 右下角悬浮 */}
-
+
@@ -91,8 +91,4 @@ const LayoutBase = (props) => { ) } -LayoutBase.propTypes = { - children: PropTypes.node -} - export default LayoutBase