0
0
mirror of https://github.com/yude-jp/yude.jp synced 2024-12-23 12:40:11 +09:00
yude.jp/pages/components/ThemeSelector.js

35 lines
976 B
JavaScript
Raw Normal View History

2021-05-21 18:36:19 +09:00
import Head from "next/head"
import Link from "next/link"
import "tailwindcss/tailwind.css";
import useTranslation from 'next-translate/useTranslation'
import { useRouter } from 'next/router'
import React, { useEffect, useState } from 'react'
import { useTheme } from "next-themes";
2021-05-21 18:36:19 +09:00
const Layout = (props) => {
const { title, children } = props
const siteTitle = "yude.jp"
const router = useRouter()
const { locale, locales, defaultLocale, pathname } = router
const [isMounted, setIsMounted] = useState(false);
2021-05-22 10:23:46 +09:00
const { theme, setTheme, getTheme } = useTheme();
useEffect(() => {
setIsMounted(true);
}, []);
2021-05-22 10:23:46 +09:00
const switchTheme = () => {
if (isMounted) {
setTheme(theme === "light" ? "dark" : "light");
}
};
2021-05-21 18:36:19 +09:00
return (
2021-05-26 07:53:02 +09:00
<button className="my-4 text-2xl" onClick={switchTheme}>
2021-05-22 10:23:46 +09:00
{theme === 'light' ? (
<span>🌙</span>
) : (
<span>🌄</span>
)}
</button>
2021-05-21 18:36:19 +09:00
)
}
export default Layout