From c66076f1ed33c6209f344b65831c8ed2e3a1453c Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Sun, 7 Dec 2025 14:32:26 +0100 Subject: [PATCH] Create ThemeSwitcher btn --- .../ui/themeSwitcher/ThemeSwitcher.jsx | 19 +++++++++++++++++++ src/pages/Profile/ProfilePage.jsx | 16 ++-------------- 2 files changed, 21 insertions(+), 14 deletions(-) create mode 100644 src/components/ui/themeSwitcher/ThemeSwitcher.jsx 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 (
@@ -43,7 +31,7 @@ function ProfilePage() {

{user.name} {user.lastname}

- +