From b409391ee7f6d52afd73a0fceee6b55681a193c9 Mon Sep 17 00:00:00 2001 From: tangly1024 Date: Wed, 11 May 2022 13:26:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9C=E9=97=B4=E6=A8=A1=E5=BC=8F=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/DarkModeButton.js | 21 ++++++++++++ components/ThemeSwitch.js | 3 +- themes/example/LayoutBase.js | 4 +-- themes/example/components/BlogList.js | 10 +++--- themes/example/components/Footer.js | 40 +++++------------------ themes/example/components/Header.js | 2 +- themes/example/components/Nav.js | 4 +-- themes/example/components/SideBar.js | 4 +-- themes/example/components/Title.js | 2 +- themes/fukasawa/components/AsideLeft.js | 4 +++ themes/medium/components/BottomMenuBar.js | 2 +- themes/medium/components/Footer.js | 2 ++ themes/medium/components/TopNavBar.js | 4 +-- themes/next/components/DarkModeButton.js | 16 +++++---- themes/next/components/Footer.js | 2 ++ 15 files changed, 63 insertions(+), 57 deletions(-) create mode 100644 components/DarkModeButton.js diff --git a/components/DarkModeButton.js b/components/DarkModeButton.js new file mode 100644 index 00000000..a4d36989 --- /dev/null +++ b/components/DarkModeButton.js @@ -0,0 +1,21 @@ +import { useGlobal } from '@/lib/global' +import { saveDarkModeToCookies } from '@/lib/theme' + +const DarkModeButton = (props) => { + const { isDarkMode, updateDarkMode } = useGlobal() + // 用户手动设置主题 + const handleChangeDarkMode = () => { + const newStatus = !isDarkMode + saveDarkModeToCookies(newStatus) + updateDarkMode(newStatus) + const htmlElement = document.getElementsByTagName('html')[0] + htmlElement.classList?.remove(newStatus ? 'light' : 'dark') + htmlElement.classList?.add(newStatus ? 'dark' : 'light') + } + + return
+ +
+} +export default DarkModeButton diff --git a/components/ThemeSwitch.js b/components/ThemeSwitch.js index 12d81812..f766599c 100644 --- a/components/ThemeSwitch.js +++ b/components/ThemeSwitch.js @@ -9,8 +9,7 @@ export function ThemeSwitch () { return (
- - 切换主题:{theme} + {theme}
) diff --git a/themes/example/LayoutBase.js b/themes/example/LayoutBase.js index 1f357ad8..c99582f4 100644 --- a/themes/example/LayoutBase.js +++ b/themes/example/LayoutBase.js @@ -15,7 +15,7 @@ import JumpToTopButton from './components/JumpToTopButton' const LayoutBase = props => { const { children, meta } = props return ( -
+
{/* 顶栏LOGO */}
@@ -24,7 +24,7 @@ const LayoutBase = props => {