function newPassword(id = ''){
if(id != ''){
id = '&id=' + id;
}
alert('Le mot de passe a été modifié.');
window.setTimeout(function(){
location.href = "index.php?page=" + window.Config.page + "&message=nouveau_mdp" + id;
}, 0);
}
function copyInClipBoard(link){
// une balise avec des attributs
var element = document.createElement("input");
element.setAttribute("id", "copyMe");
element.setAttribute("value", link);
// placement dans la page (= le "document")
document.body.appendChild(element);
var cible = document.getElementById('copyMe');
// selection comme on le ferait à la souris
cible.select();
// copie (= Ctrl + C)
document.execCommand("copy");
// nettoyage
element.parentNode.removeChild(element);
alert('Cette adresse a été copiée dans le presse-papier:\n\n' + link);
}
function toastNotify(message){
var toast = document.getElementById('toast');
toast.textContent = message;
toast.className = 'toast show';
setTimeout(function(){ toast.className = toast.className.replace('show', ''); }, 5000);
}
// exécuté à la fin du chargement de la page
document.addEventListener('DOMContentLoaded', () => {
// détection des dates et conversion à l'heure locale
document.querySelectorAll('.local_date').forEach(function(element){
const utc_date = element.getAttribute('date-utc'); // forme: 2025-10-10T12:17:00+00:00
element.innerText = toFormatedLocalDate(utc_date);
});
// ouvrir/fermer les sous-menus avec écran tactile
document.querySelectorAll('.sub-menu-toggle').forEach(button => {
button.addEventListener('click', e => {
e.preventDefault();
const li = button.parentElement; //
// fermer les autres sous-menus de même niveau
// :scope pour pouvoir utiliser > pour restreindre aux frères directs
li.parentElement.querySelectorAll(':scope > .drop-down, :scope > .drop-right').forEach(sibling => {
if(sibling !== li){
sibling.classList.remove('open'); // fermer sous-menus frères
sibling.querySelectorAll('.drop-right').forEach(desc => {
desc.classList.remove('open'); // fermer sous-menus neveux
});
}
});
if(!li.classList.toggle('open')){ // fermer sous-menu
li.querySelectorAll('.drop-right').forEach(desc => {
desc.classList.remove('open'); // fermer sous-menus enfants
});
}
});
});
// hauteur de