Created the SettingsContext.jsx

This commit is contained in:
Mathias Wagner 2024-02-15 18:24:24 +01:00
parent cfa3c89f14
commit 540cb33c57
Signed by: Mathias
GPG Key ID: B8DC354B0A1F5B44

View File

@ -0,0 +1,27 @@
import {createContext, useState} from "react";
import i18n from "i18next";
export const SettingsContext = createContext({});
export const SettingsProvider = (props) => {
const [theme, setTheme] = useState(localStorage.getItem("theme") || "dark");
const [language, setLanguage] = useState(localStorage.getItem("language") || "en");
const updateTheme = (theme) => {
localStorage.setItem("theme", theme);
setTheme(theme);
}
const updateLanguage = (language) => {
localStorage.setItem("language", language);
i18n.changeLanguage(language);
setLanguage(language);
}
return (
<SettingsContext.Provider value={{theme, updateTheme, language, updateLanguage}}>
{props.children}
</SettingsContext.Provider>
)
}