From 2ec1519568ebdb091b342cb30d8c8f2c1d7b7558 Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Thu, 7 Mar 2024 22:03:53 +0100 Subject: [PATCH] adding set cookie and set lang --- frontend/src/i18n.js | 11 ++++++----- frontend/src/utils.js | 12 ++++++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/frontend/src/i18n.js b/frontend/src/i18n.js index eaf2dac..d8909f1 100644 --- a/frontend/src/i18n.js +++ b/frontend/src/i18n.js @@ -9,7 +9,7 @@ * */ -import { getCookie } from './utils.js'; +import { getCookie, setCookie } from './utils.js'; const default_lang = "EN"; let langs; @@ -34,10 +34,6 @@ export default function i18n(key, options) { return ret; } -// -// Those functions are utility functions use by previous exported functions. -// - /** * Function that load the file with translation from the specified lang and return a dictionnary * @param select the language to load. could be null to fetch the cookies for an answer @@ -61,3 +57,8 @@ export async function loadLangs(lang){ langs = filteredLines; } await loadLangs(); + +export async function setLang(lang){ + setCookie("lang", lang); + await loadLangs(); +} diff --git a/frontend/src/utils.js b/frontend/src/utils.js index e79eec4..813e66f 100644 --- a/frontend/src/utils.js +++ b/frontend/src/utils.js @@ -2,7 +2,7 @@ * Return the content of a cookie with specified key * @param key cookie name */ -function getCookie(key){ +export function getCookie(key){ key = key + "=" let cookies = decodeURIComponent(document.cookie).split(";"); for (let el of cookies) { @@ -14,4 +14,12 @@ function getCookie(key){ return ""; } -export {getCookie}; +/** + * Return the content of a cookie with specified key + * @param key cookie name + */ +export function setCookie(key, value){ + cookie = key + "=" + value ";" + document.cookie = cookie; + // Here we can apreciate the stupidity of Javascript :/ +}