import { useEffect, useState } from 'react' import { loadUserThemeFromCookies, saveTheme, useGlobal } from '@/lib/global' import { faMoon, faSun } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' export default function FloatDarkModeButton () { const [show, switchShow] = useState(false) const scrollListener = () => { const scrollY = window.pageYOffset // const shouldShow = scrollY > 100 && scrollY < windowTop const shouldShow = scrollY > 100 if (shouldShow !== show) { switchShow(shouldShow) } } useEffect(() => { document.addEventListener('scroll', scrollListener) return () => document.removeEventListener('scroll', scrollListener) }) const { changeTheme } = useGlobal() const userTheme = loadUserThemeFromCookies() // 用户手动设置主题 const handleChangeDarkMode = () => { const newTheme = userTheme === 'light' ? 'dark' : 'light' saveTheme(newTheme) changeTheme(newTheme) } return (