import React, { useEffect, useState } from 'react' import PropTypes from 'prop-types' import { Helmet } from 'react-helmet' import Icon from '../atoms/Icon' import { checkboxContainer, checkboxFake, themeSwitch, checkbox, label } from './ThemeSwitch.module.css' import useDarkMode from '../../hooks/useDarkMode' const ThemeToggle = ({ dark }) => ( ) ThemeToggle.propTypes = { dark: PropTypes.bool.isRequired } const ThemeToggleInput = ({ dark, toggleDark }) => ( toggleDark()} type="checkbox" name="toggle" value="toggle" aria-describedby="toggle" checked={dark} /> ) ThemeToggleInput.propTypes = { dark: PropTypes.bool.isRequired, toggleDark: PropTypes.func.isRequired } const HeadItems = ({ bodyClass, themeColor }) => ( ) HeadItems.propTypes = { bodyClass: PropTypes.string, themeColor: PropTypes.string.isRequired } export default function ThemeSwitch() { const { value, toggle } = useDarkMode() const [themeColor, setThemeColor] = useState('') const [bodyClass, setBodyClass] = useState('') useEffect(() => { setBodyClass(value ? 'dark' : null) setThemeColor(value ? '#1d2224' : '#e7eef4') }, [value]) return ( <> ) }