diff options
Diffstat (limited to 'src/components/ThemeToggle/ThemeToggle.tsx')
| -rw-r--r-- | src/components/ThemeToggle/ThemeToggle.tsx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/components/ThemeToggle/ThemeToggle.tsx b/src/components/ThemeToggle/ThemeToggle.tsx new file mode 100644 index 0000000..015201b --- /dev/null +++ b/src/components/ThemeToggle/ThemeToggle.tsx @@ -0,0 +1,34 @@ +import { Form } from '@components/Form'; +import { MoonIcon, SunIcon } from '@components/Icons'; +import { t } from '@lingui/macro'; +import { FormEvent, useState } from 'react'; +import styles from './ThemeToggle.module.scss'; + +const ThemeToggle = () => { + const [isDarkTheme, setIsDarkTheme] = useState<boolean>(false); + + const onSubmit = (e: FormEvent) => { + e.preventDefault(); + }; + + return ( + <Form modifier="theme" submitHandler={onSubmit}> + <input + className={styles.checkbox} + type="checkbox" + id="dark-theme" + name="dark-theme" + checked={isDarkTheme} + onChange={() => setIsDarkTheme(!isDarkTheme)} + /> + <label htmlFor="dark-theme" className={styles.label}> + <span className="screen-reader-text">{t`Activate dark theme`}</span> + <SunIcon /> + <span className={styles.toggle}></span> + <MoonIcon /> + </label> + </Form> + ); +}; + +export default ThemeToggle; |
