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;