Skip to content
Snippets Groups Projects
Select Git revision
  • fe63ef3b2266b317ebd771d628669854c879b20c
  • main default protected
2 results

PlayStrategy.java

Blame
  • Forked from TRAVERS Corentin / flooding-template
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ThemeContext.jsx 776 B
    import { createContext, useContext, useEffect, useState } from "react";
    
    const ThemeContext = createContext();
    
    const ThemeProvider = ({ children }) => {
        const [theme, setTheme] = useState(() => {
            return localStorage.getItem("theme") || "light";
        });
    
        useEffect(() => {
            document.documentElement.classList.toggle("dark", theme === "dark");
            localStorage.setItem("theme", theme);
        }, [theme]);
    
        const toggleTheme = () => {
            setTheme((prevTheme) => (prevTheme === "light" ? "dark" : "light"));
        };
    
        return (
            <ThemeContext.Provider value={{ theme, toggleTheme }}>
                {children}
            </ThemeContext.Provider>
        );
    };
    
    const useTheme = () => useContext(ThemeContext);
    
    export { ThemeProvider, useTheme };