const headerLogoLight = "/assets/headerLogoLight.svg";
const headerLogoDark = "/assets/headerLogoDark.svg";
function toggleMenu(menu) {
const element = document.getElementById(menu);
if (!element) {
console.error("The selected menu id doesn't exist");
return;
}
if (element.classList.contains("active")) element.classList.remove("active");
else element.classList.add("active");
document.addEventListener("click", function close (event){
const isClickInside = element.contains(event.target);
if (!isClickInside) {
element.classList.remove("active");
document.removeEventListener("click", close);
}
});
}
function togglePasswordView(event, inputId) {
const inputField = document.getElementById(inputId);
const button = event.target;
if (!inputField) {
console.error("The selected input id doesn\'t exist");
return;
}
if (inputField.type === "password") {
inputField.setAttribute("type", "text");
button.classList.remove("bi-eye-slash");
button.classList.add("bi-eye");
} else {
inputField.setAttribute("type", "password");
button.classList.add("bi-eye-slash");
button.classList.remove("bi-eye");
}
}
// function PopupCentrer(page,largeur,hauteur,option) {
// var top=(screen.height-hauteur)/2;
// var left=(screen.width-largeur)/2;
// window.open(page,"",option+", width="+largeur+", height="+hauteur+", left="+left+", top="+top+"resizable=yes,scrollbars=yes");
// }
function PopupCentrer(page,largeur,hauteur,option) {
const modal = document.createElement("div");
modal.className = "modal";
modal.id = "modalWindow";
modal.innerHTML = `
`;
document.querySelector("body").appendChild(modal);
}
function closeModal(id, reloadPage) {
try {
if (typeof(id) != "string") throw new Error("Got invalid type or undefined/null argument");
const element = document.getElementById(id);
if (!element) throw new Error("Couldn't get element by id");
element.remove();
if (reloadPage === true) window.location.reload();
} catch (error) {
console.error("Failed to close modal : ", error);
}
}
let transitionTime = 0;
function switchTheme() {
transitionTime++;
document.querySelector("body").style.transition = "color 1s linear, background-color 1s linear, border-color 1s linear";
setTimeout(() => {
if(transitionTime > 0) transitionTime--;
if (transitionTime===0) document.querySelector("body").style.transition = "";
}, 1000);
let userTheme = localStorage.getItem("nasketTheme");
if (userTheme == "lightTheme") switchToDarkMode(true);
else switchToLightMode(true);
}
function switchToDarkMode(update = true) {
try {
buttons = [...document.getElementsByClassName("themeButton")];
document.querySelector("body").classList.remove("lightTheme");
buttons.forEach(element => element.className = element.className.replace("bi-moon-stars", "bi-sun"));
document.getElementById("headerLogo").src = headerLogoDark;
if (update) localStorage.setItem("nasketTheme", "darkTheme");
} catch (error) {
console.error("Problems happened when swithing themes", error);
}
}
function switchToLightMode(update = true) {
try {
buttons = [...document.getElementsByClassName("themeButton")];
document.querySelector("body").classList.add("lightTheme");
buttons.forEach(element => element.className = element.className.replace("bi-sun", "bi-moon-stars"));
// document.getElementById("headerLogo").style.filter = "invert() hue-rotate(180deg) brightness(0.45) saturate(2.8)";
document.getElementById("headerLogo").src = headerLogoLight;
if (update) localStorage.setItem("nasketTheme", "lightTheme");
} catch (error) {
console.error("Problems happened when swithing themes", error);
}
}
const userFontSize = localStorage.getItem("nasketFontSize");
const userTheme = localStorage.getItem("nasketTheme");
if (userTheme == "darkTheme") switchToDarkMode(false);
else switchToLightMode(false);
if (userFontSize && parseInt(userFontSize) != NaN && userFontSize <= 20 && userFontSize >= 10) document.querySelector("body").style.fontSize = userFontSize + "px";
else localStorage.setItem("nasketFontSize", "12");