From a3be58df348d1f71076ece9e368cdd23c3791352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pr=C3=A9nom=20Nom?= <adresse@mail.com> Date: Mon, 24 Feb 2025 06:46:29 +0100 Subject: [PATCH] activation ajout auto -> active stats --- src/background/background.js | 10 ++++++++-- src/plugin/plugin.js | 20 +++++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/background/background.js b/src/background/background.js index ed1098e..cd0c92e 100644 --- a/src/background/background.js +++ b/src/background/background.js @@ -435,12 +435,13 @@ function initWorker() { log("[Background] Initialisation du WebWorker..."); try { worker = new Worker(browser.runtime.getURL("src/workers/pyodide_worker.js")); - // Centralisation de l'écoute des messages et erreurs du Worker worker.addEventListener("message", handleWorkerMessage); worker.addEventListener("error", handleWorkerError); log("[Background] WebWorker initialisé avec succès."); + // Charger Pyodide et Simplemma + worker.postMessage({ command: "pyodide-simplemma" }); } catch (error) { - log("[Background] Échec de l'initialisation du WebWorker :", error); + log("[Background] Erreur lors de l'initialisation du WebWorker :", error); } } } @@ -497,6 +498,11 @@ function handleWorkerMessage(event) { // Initialisation du worker dès le démarrage initWorker(); +browser.runtime.onStartup.addListener(() => { + log("[Background] Chargement de Pyodide et Simplemma au démarrage."); + browser.runtime.sendMessage({ command: "pyodide-simplemma" }); +}); + // ───────────────────────────────────────────────────────────────────────────── // Écoute des messages de l'extension et transmission au WebWorker // ───────────────────────────────────────────────────────────────────────────── diff --git a/src/plugin/plugin.js b/src/plugin/plugin.js index 3611b30..4464ac9 100644 --- a/src/plugin/plugin.js +++ b/src/plugin/plugin.js @@ -205,7 +205,7 @@ async function handleToggleExtension() { /** * Gestion du bouton d'ajout automatique */ -function handleAutoAddToggle() { +async function handleAutoAddToggle() { const autoAddCheckbox = document.getElementById("auto-add"); const autoAddOptions = document.getElementById("auto-add-options"); const saveOptionsBtn = document.getElementById("save-options"); @@ -214,6 +214,14 @@ function handleAutoAddToggle() { const isAutoAddEnabled = autoAddCheckbox.checked; + // Vérifier si Pyodide et Simplemma sont prêts + const { pyodideSimplemmaReady } = await browser.storage.local.get("pyodideSimplemmaReady"); + + if (isAutoAddEnabled && !pyodideSimplemmaReady) { + log("L'ajout automatique nécessite Pyodide et Simplemma : Chargement en cours..."); + browser.runtime.sendMessage({ command: "pyodide-simplemma" }); + } + // Juste afficher ou cacher les options, mais ne pas sauvegarder dans le local storage autoAddOptions.classList.toggle("hidden", !isAutoAddEnabled); saveOptionsBtn.classList.toggle("hidden", !isAutoAddEnabled); @@ -273,8 +281,18 @@ async function handleSaveOptions() { includeStopwords: stopwordsCheckbox.checked }); + if (autoAddCheckbox.checked) { + const { isTrackingActive } = await browser.storage.local.get("isTrackingActive"); + if (!isTrackingActive) { + log("Activation automatique des statistiques après validation."); + await browser.storage.local.set({ isTrackingActive: true }); + browser.runtime.sendMessage({ command: "toggle-stats", isActive: true }); + } + } + await updateExtension(); log("Options sauvegardées."); + } -- GitLab