adapting contexts
This commit is contained in:
parent
af614e9ae8
commit
a9d23e10ec
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user