diff --git a/src/components/ui/themeSwitcher/ThemeSwitcher.jsx b/src/components/ui/themeSwitcher/ThemeSwitcher.jsx new file mode 100644 index 0000000..1b9a84f --- /dev/null +++ b/src/components/ui/themeSwitcher/ThemeSwitcher.jsx @@ -0,0 +1,19 @@ +import Button from "../button/button.jsx"; +import React from "react"; + +export default function ThemeSwitcher() { + + const switchTheme = () => { + + const currentTheme = localStorage.getItem("theme"); + let newTheme = currentTheme === "light" ? "dark" : "light"; + + if(currentTheme === null) newTheme = "dark"; + + localStorage.setItem("theme", newTheme); + + window.dispatchEvent(new Event("theme-changed")); + }; + + return +} \ No newline at end of file diff --git a/src/pages/Profile/ProfilePage.jsx b/src/pages/Profile/ProfilePage.jsx index 5eeb17e..871edb5 100644 --- a/src/pages/Profile/ProfilePage.jsx +++ b/src/pages/Profile/ProfilePage.jsx @@ -5,6 +5,7 @@ import formatDate from "../../utils/date/formatDate.js"; import Task from "../../components/Task/Task"; import Button from "../../components/ui/button/button.jsx"; import { useNavigate } from "react-router"; +import ThemeSwitcher from "../../components/ui/themeSwitcher/ThemeSwitcher.jsx"; function ProfilePage() { @@ -15,19 +16,6 @@ function ProfilePage() { logout(); } - const switchTheme = () => { - - const currentTheme = localStorage.getItem("theme"); - let newTheme = currentTheme === "light" ? "dark" : "light"; - - if(currentTheme === null) newTheme = "dark"; - - localStorage.setItem("theme", newTheme); - - window.dispatchEvent(new Event("theme-changed")); - }; - - return (