import React, { useEffect, useState } from 'react' import { useGlobal } from '@/lib/global' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faListOl } from '@fortawesome/free-solid-svg-icons' import BLOG from '@/blog.config' /** * 点击召唤目录抽屉 * 当屏幕下滑500像素后会出现该控件 * @param props 父组件传入props * @returns {JSX.Element} * @constructor */ const TocDrawerButton = (props) => { if (!BLOG.widget?.showToc) { return <> } const { locale } = useGlobal() const [show, switchShow] = useState(false) const scrollListener = () => { const scrollY = window.pageYOffset const shouldShow = scrollY > 100 if (shouldShow !== show) { switchShow(shouldShow) } } useEffect(() => { document.addEventListener('scroll', scrollListener) return () => document.removeEventListener('scroll', scrollListener) }) return (
) } export default TocDrawerButton