adapting contexts

This commit is contained in:
Antoine M 2024-02-15 18:50:13 +01:00
parent af614e9ae8
commit a9d23e10ec
2 changed files with 26 additions and 9 deletions

View File

@ -1,7 +1,7 @@
import { createContext, useContext, useState } from "react"; import { createContext, useContext, useState } from "react";
export const LanguageContext = createContext({ export const LanguageContext = createContext({
language: "fr", language: "FR",
changeLanguage: () => {}, changeLanguage: () => {},
}); });
@ -9,10 +9,10 @@ export function LanguageContextProvider({ children }) {
const [language, setLanguage] = useState("fr"); const [language, setLanguage] = useState("fr");
function changeLanguage() { function changeLanguage() {
if (language === "fr") { if (language === "FR") {
setLanguage("en"); setLanguage("EN");
} else { } else {
setLanguage("fr"); setLanguage("EN");
} }
} }
return <LanguageContext.Provider value={{ language, changeLanguage }}>{children}</LanguageContext.Provider>; return <LanguageContext.Provider value={{ language, changeLanguage }}>{children}</LanguageContext.Provider>;

View File

@ -1,17 +1,33 @@
import { createContext, useState } from "react"; import { createContext, useEffect, useState } from "react";
export const UserContext = createContext(); export const UserContext = createContext();
export function UserContextProvider({ children }) { export function UserContextProvider({ children }) {
const [language, setLanguage] = useState("fr"); const [language, setLanguage] = useState("FR");
const [country, setCountry] = useState({ name: "belgique", iso: "BE" }); const [country, setCountry] = useState({ name: "belgique", iso: "BE" });
const [profile, setProfile] = useState("lhoist_employee"); const [profile, setProfile] = useState("lhoist_employee");
const [screensTranslations, setScreensTranslations] = useState({});
useEffect(() => {
if (!language) return;
const loadTranslations = async (language) => {
try {
const translations = await import(`../data/screensTranslations_${language}.json`);
setScreensTranslations(translations.default);
} catch (error) {
console.error("Could not load translations", error);
}
};
// Appeler la fonction loadTranslations avec la langue actuelle
loadTranslations(language);
}, [language]);
function changeLanguage() { function changeLanguage() {
if (language === "fr") { if (language === "FR") {
setLanguage("en"); setLanguage("EN");
} else { } else {
setLanguage("fr"); setLanguage("FR");
} }
} }
@ -26,6 +42,7 @@ export function UserContextProvider({ children }) {
<UserContext.Provider <UserContext.Provider
value={{ value={{
language, language,
screensTranslations,
changeLanguage, changeLanguage,
country, country,
changeCountry, changeCountry,