From 43cbd2be737de83ab5e7da634de9ca244ddbdc1e Mon Sep 17 00:00:00 2001 From: Lucie Bader <167515375+Lucie-Bdr@users.noreply.github.com> Date: Wed, 19 Feb 2025 16:06:50 +0100 Subject: [PATCH] Tentative correction beug affichage lexiques en double --- src/popup/popup.js | 5 ++++- src/sidebar/sidebar.js | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/popup/popup.js b/src/popup/popup.js index 5a912ed..f8a5ac3 100644 --- a/src/popup/popup.js +++ b/src/popup/popup.js @@ -283,7 +283,10 @@ document.getElementById("toggleStatsBtn")?.addEventListener("click", async () => if (newState) { browser.runtime.sendMessage({ command: "pyodide-simplemma" }); } - + if (isUpdatingLexicons) return; + isUpdatingLexicons = true; + await updateLexiconsDisplay(); + isUpdatingLexicons = false; await updateExtension(); }); diff --git a/src/sidebar/sidebar.js b/src/sidebar/sidebar.js index b56fc56..c182726 100644 --- a/src/sidebar/sidebar.js +++ b/src/sidebar/sidebar.js @@ -10,6 +10,7 @@ log( // ───────────────────────────────────────────────────────────────────────────── let authToken = window.authToken; window.authToken = authToken; +let isUpdatingLexicons = false; // ───────────────────────────────────────────────────────────────────────────── // â–Œ Fonctions liées au token @@ -259,6 +260,10 @@ async function displayLexiconsWithCheckbox(lexicons) { } for (const { lexiconName, lexiconId, active } of lexicons) { + if (lexiquesContainer.querySelector(`div[data-lexicon-id="${lexiconId}"]`)) { + continue; // Si oui, passez à l'itération suivante + } + const lexiqueDiv = document.createElement("div"); lexiqueDiv.className = "lexique-item"; @@ -326,7 +331,6 @@ async function displayLexiconsWithCheckbox(lexicons) { lexiqueDiv.appendChild(labelSpan); lexiqueDiv.appendChild(checkboxContainer); lexiqueDiv.appendChild(highlightButton); - lexiquesContainer.appendChild(lexiqueDiv); } @@ -354,6 +358,17 @@ async function displayLexiconsWithCheckbox(lexicons) { }, 100); } +async function updateLexiconsDisplay() { + const token = await getAuthTokenFromStorage(); // Récupérer le token d'authentification + if (!token) { + console.warn("âš ï¸ Aucun token d'authentification disponible."); + return; + } + + const lexicons = await getLexicons(token); // Récupérer les lexiques + await displayLexiconsWithCheckbox(lexicons); // Mettre à jour l'affichage des lexiques +} + // Ajouter une fonction pour restaurer l'état des boutons au chargement async function restoreHighlightingState() { try { -- GitLab