From e69ece23d024802656fa0059ac651594d5911043 Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Fri, 8 Mar 2024 11:23:32 +0100 Subject: [PATCH] adding set cookie and set lang (#68) simple set cookie (je deteste javascript) et un setlang pour le syntastic sugar Reviewed-on: https://git.herisson.ovh/PGL/Clyde/pulls/68 Reviewed-by: Maxime <231026@umons.ac.be> Reviewed-by: Wal Co-authored-by: Anthony Debucquoy Co-committed-by: Anthony Debucquoy --- 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..bb9e61f 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 :/ +}