From f154f24f881a889bad3d76a54a85087376551858 Mon Sep 17 00:00:00 2001 From: tangly1024 Date: Fri, 17 Dec 2021 14:38:01 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E9=98=B4=E5=BD=B1=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/BlogPostListScroll.js | 2 +- components/FloatDarkModeButton.js | 33 ++++++++++++++++++++++++------- components/JumpToTopButton.js | 4 ++-- components/SideArea.js | 12 +++++------ components/StickyBar.js | 2 +- components/TocDrawerButton.js | 6 +++--- 6 files changed, 39 insertions(+), 20 deletions(-) diff --git a/components/BlogPostListScroll.js b/components/BlogPostListScroll.js index 2d9f2224..7b85dad3 100644 --- a/components/BlogPostListScroll.js +++ b/components/BlogPostListScroll.js @@ -64,7 +64,7 @@ const BlogPostListScroll = ({ posts = [], tags, currentSearch, currentCategory,
{ handleGetMore() }} - className='w-full my-4 py-4 bg-gray-200 text-center cursor-pointer dark:bg-gray-700 dark:text-gray-200' + className='w-full my-4 py-4 text-center cursor-pointer glassmorphism dark:text-gray-200' > {hasMore ? '继续加载' : '加载完了😰'}
diff --git a/components/FloatDarkModeButton.js b/components/FloatDarkModeButton.js index 06ed046d..6d4632a4 100644 --- a/components/FloatDarkModeButton.js +++ b/components/FloatDarkModeButton.js @@ -1,5 +1,7 @@ import { useEffect, useState } from 'react' -import DarkModeButton from './DarkModeButton' +import { loadUserThemeFromCookies, saveTheme, useGlobal } from '@/lib/global' +import { faMoon, faSun } from '@fortawesome/free-solid-svg-icons' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' let windowTop = 0 export default function FloatDarkModeButton () { @@ -18,12 +20,29 @@ export default function FloatDarkModeButton () { return () => document.removeEventListener('scroll', scrollListener) }) + const { changeTheme } = useGlobal() + const userTheme = loadUserThemeFromCookies() + // 用户手动设置主题 + const handleChangeDarkMode = () => { + const newTheme = userTheme === 'light' ? 'dark' : 'light' + saveTheme(newTheme) + changeTheme(newTheme) + } + return ( -
- -
+
+ +
) } diff --git a/components/JumpToTopButton.js b/components/JumpToTopButton.js index 2d708f27..1e6d375d 100644 --- a/components/JumpToTopButton.js +++ b/components/JumpToTopButton.js @@ -42,9 +42,9 @@ const JumpToTopButton = ({ targetRef, showPercent = true }) => { return (
window.scrollTo({ top: 0, behavior: 'smooth' })} - className={(show ? '' : 'hidden') + ' animate__fadeInRight animate__animated animate__faster shadow-card rounded-full glassmorphism py-1 cursor-pointer '}> + className={(show ? '' : 'hidden') + ' animate__fadeInRight animate__animated animate__faster shadow-card rounded-xl glassmorphism py-1 cursor-pointer '}>
-
+
{showPercent && (
{percent}
)} diff --git a/components/SideArea.js b/components/SideArea.js index 98728f09..6e59963e 100644 --- a/components/SideArea.js +++ b/components/SideArea.js @@ -27,7 +27,7 @@ const SideArea = ({ title, tags, currentTag, post, posts, categories, currentCat const { locale } = useGlobal() return