From c553ff14da5a4900d88f2a224937598944fff6d1 Mon Sep 17 00:00:00 2001 From: Thibaut Valentin Date: Sat, 3 Feb 2024 16:24:12 +0100 Subject: [PATCH] start theme implementation --- src/main/webapp/src/App.jsx | 5 +- src/main/webapp/src/components/Nav.jsx | 65 +++++++++++++++++--------- src/main/webapp/src/hooks/useTheme.jsx | 42 +++++++++++++++++ 3 files changed, 89 insertions(+), 23 deletions(-) create mode 100644 src/main/webapp/src/hooks/useTheme.jsx diff --git a/src/main/webapp/src/App.jsx b/src/main/webapp/src/App.jsx index 04b7a97..382e70e 100644 --- a/src/main/webapp/src/App.jsx +++ b/src/main/webapp/src/App.jsx @@ -10,6 +10,7 @@ import {ToastContainer} from "react-toastify"; import './App.css' import 'react-toastify/dist/ReactToastify.css'; +import {ThemeProvider} from "./hooks/useTheme.jsx"; const router = createBrowserRouter([ { @@ -82,7 +83,9 @@ function App() { console.log('render') return - + + + ; } diff --git a/src/main/webapp/src/components/Nav.jsx b/src/main/webapp/src/components/Nav.jsx index 3b95604..d49c009 100644 --- a/src/main/webapp/src/components/Nav.jsx +++ b/src/main/webapp/src/components/Nav.jsx @@ -1,38 +1,53 @@ import LogoIcon from '../assets/FFSSAF-bord-blanc-fond-transparent.webp' -import './Nav.css' +// import './Nav.css' import {NavLink} from "react-router-dom"; import {useAuth} from "../hooks/useAuth.jsx"; import {login, logout} from "../utils/auth.js"; +import {ThemeCss, useTheme} from "../hooks/useTheme.jsx"; +import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; +import {faMoon, faSun} from "@fortawesome/free-regular-svg-icons"; + +const themeSwitcherVariant = { + light: "outline-primary bg-light", + dark: "outline-light bg-dark" +}; export function Nav() { + const {theme} = useTheme(); - return + } function AdminMenu() { const {is_authenticated, userinfo} = useAuth() + const {theme} = useTheme(); if (!is_authenticated || !userinfo?.roles?.includes("federation_admin")) return <> @@ -41,7 +56,7 @@ function AdminMenu() { -