From 540cb33c571ed61fd6eff28cf7bd5455aac9b7fd Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Thu, 15 Feb 2024 18:24:24 +0100 Subject: [PATCH] Created the SettingsContext.jsx --- .../contexts/Settings/SettingsContext.jsx | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 webui/src/common/contexts/Settings/SettingsContext.jsx diff --git a/webui/src/common/contexts/Settings/SettingsContext.jsx b/webui/src/common/contexts/Settings/SettingsContext.jsx new file mode 100644 index 0000000..1618a76 --- /dev/null +++ b/webui/src/common/contexts/Settings/SettingsContext.jsx @@ -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 ( + + {props.children} + + ) +} \ No newline at end of file