From 99ef6749a83c75c4a2a9d2211919c727fd1918fc Mon Sep 17 00:00:00 2001 From: Lucie Bader <167515375+Lucie-Bdr@users.noreply.github.com> Date: Wed, 12 Feb 2025 11:33:03 +0100 Subject: [PATCH] Correction beugs --- manifest.json | 2 +- src/assets/lexicon_icon.js | 29 +++++++++++++++++++---------- src/background/background.js | 10 +++++++++- src/sidebar/sidebar.js | 2 +- 4 files changed, 30 insertions(+), 13 deletions(-) diff --git a/manifest.json b/manifest.json index a74107e..08791cc 100644 --- a/manifest.json +++ b/manifest.json @@ -60,7 +60,7 @@ "src/sidebar/sidebar.js", "src/context_menu/custom_context_menu.js"], "css": ["src/context_menu/custom_context_menu.css"], - "run_at": "document_end" + "run_at": "document_idle" } ], diff --git a/src/assets/lexicon_icon.js b/src/assets/lexicon_icon.js index 5fc780a..9228f82 100644 --- a/src/assets/lexicon_icon.js +++ b/src/assets/lexicon_icon.js @@ -1,16 +1,25 @@ console.log("lexicon_icon.js chargé"); /** - * Génère une couleur hexadécimale aléatoire (#RRGGBB). - * @returns {string} Une couleur hexadécimale, ex: "#A1B2C3". + * Sélectionne aléatoirement une couleur dans une palette prédéfinie. + * @returns {string} Une couleur au format hexadécimal ou HSL. */ function generateRandomColor() { - const letters = '0123456789ABCDEF'; - let color = '#'; - for (let i = 0; i < 6; i++) { - color += letters[Math.floor(Math.random() * 16)]; - } - return color; + const palette = [ + "#6e76c7", + "#00a0bd", + "#96cd95", + "#ffeac2", + "#fff6ff", + "#e67e22", + "#20bad8", + "#f290e7", + "#f4ab9d", + "#f1e87a", + "#84e8e6" + ]; + const index = Math.floor(Math.random() * palette.length); + return palette[index]; } /** @@ -18,10 +27,10 @@ function generateRandomColor() { * @param {string|number} lexiconId - L'identifiant du lexique. * @returns {Promise<string>} La couleur associée au lexique. */ -async function getOrCreateLexiconColor(lexiconId) { +async function getOrCreateLexiconColor(lexiconId, forceReset = false) { // Récupère la correspondance stockée dans storage let { lexiconColors } = await browser.storage.local.get("lexiconColors"); - if (!lexiconColors) { + if (!lexiconColors || forceReset) { lexiconColors = {}; } // Si aucune couleur n'est associée à ce lexiconId, on la génère et on la sauvegarde diff --git a/src/background/background.js b/src/background/background.js index e1f36c5..6203313 100644 --- a/src/background/background.js +++ b/src/background/background.js @@ -88,11 +88,18 @@ async function actuallyOpenLoginPage() { browser.runtime.sendMessage({ action: "authStatusChanged", isLoggedIn: false }); } -// Déconnecte l'utilisateur (sans notification) +// Déconnecte l'utilisateur async function disconnectFromLexicalDB() { console.log("🔓 Déconnexion en cours..."); await browser.storage.local.remove("accessToken"); console.log("🔓 Token supprimé avec succès."); + // Réinitialiser les couleurs des lexiques dans le local storage + try { + await browser.storage.local.remove("lexiconColors"); + console.log("Les couleurs des lexiques ont été réinitialisées dans le local storage."); + } catch (error) { + console.error("Erreur lors de la réinitialisation des couleurs :", error); + } setTimeout(async () => { await refreshAllUI(); }, 500); @@ -135,6 +142,7 @@ browser.runtime.onMessage.addListener(async (message, sender, sendResponse) => { const isConnected = await isUserConnected(); if (isConnected) { await disconnectFromLexicalDB(); + await browser.storage.local.remove("lexiconColors"); } else { actuallyOpenLoginPage(); } diff --git a/src/sidebar/sidebar.js b/src/sidebar/sidebar.js index ef05621..5d619b5 100644 --- a/src/sidebar/sidebar.js +++ b/src/sidebar/sidebar.js @@ -533,7 +533,7 @@ document.addEventListener("DOMContentLoaded", async () => { authButton.addEventListener("click", handleAuthButtonClick); } - const chercherDefButton = document.getElementById("chercherDef"); + const chercherDefButton = document.querySelector("#chercherDef"); if (chercherDefButton) { chercherDefButton.addEventListener("click", async () => { openBlock("definitionContent"); -- GitLab