Create ThemeSwitcher btn

This commit is contained in:
T'JAMPENS QUENTIN p2406187
2025-12-07 14:32:26 +01:00
parent e1f6663382
commit c66076f1ed
2 changed files with 21 additions and 14 deletions
@@ -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 <Button variant={"default"} onClick={switchTheme}> Changer de thème </Button>
}
+2 -14
View File
@@ -5,6 +5,7 @@ import formatDate from "../../utils/date/formatDate.js";
import Task from "../../components/Task/Task"; import Task from "../../components/Task/Task";
import Button from "../../components/ui/button/button.jsx"; import Button from "../../components/ui/button/button.jsx";
import { useNavigate } from "react-router"; import { useNavigate } from "react-router";
import ThemeSwitcher from "../../components/ui/themeSwitcher/ThemeSwitcher.jsx";
function ProfilePage() { function ProfilePage() {
@@ -15,19 +16,6 @@ function ProfilePage() {
logout(); 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 ( return (
<div className={styles.container}> <div className={styles.container}>
<div className={`${styles.profileboard} glassCard`}> <div className={`${styles.profileboard} glassCard`}>
@@ -43,7 +31,7 @@ function ProfilePage() {
<div className={styles.headerProfile}> <div className={styles.headerProfile}>
<h2> {user.name} {user.lastname} </h2> <h2> {user.name} {user.lastname} </h2>
<div className={styles.settingsBtns}> <div className={styles.settingsBtns}>
<Button variant={"default"} onClick={switchTheme}> Changer de thème </Button> <ThemeSwitcher />
<Button variant={"danger"} onClick={handleLogout}> Déconnexion </Button> <Button variant={"danger"} onClick={handleLogout}> Déconnexion </Button>
</div> </div>
</div> </div>