dark mode added

This commit is contained in:
Artur Lozovski 2023-12-15 17:55:28 +00:00
parent 5a0568bec9
commit f42e57d464
6 changed files with 44 additions and 13 deletions

View file

@ -0,0 +1,27 @@
import { useState, useEffect } from "react";
const DarkModeToggle = () => {
const getInitialState = () => {
const storedDarkMode = localStorage.getItem("darkMode");
return storedDarkMode ? JSON.parse(storedDarkMode) : false;
};
const [isDarkMode, setIsDarkMode] = useState<boolean>(getInitialState);
useEffect(() => {
document.body.classList.toggle("dark", isDarkMode);
localStorage.setItem("darkMode", JSON.stringify(isDarkMode));
}, [isDarkMode]);
return (
<div className="fixed bottom-5 right-5">
<button
onClick={() => setIsDarkMode((prev) => !prev)}
className="ml-2 text-gray-700 dark:text-gray-300"
>
Dark Mode
</button>
</div>
);
};
export default DarkModeToggle;

View file

@ -25,7 +25,9 @@ export const FormInput: React.FC<{
}) => {
return (
<div className="flex flex-col gap-2 text-sm mb-2">
<label htmlFor={name}>{label}</label>
<label htmlFor={name} className="dark:text-slate-500">
{label}
</label>
<input
autoFocus={autoFocus}
type={inputType}