Skip to content
Snippets Groups Projects
Commit d3fb8413 authored by Prénom Nom's avatar Prénom Nom
Browse files

correction erreur ouverture stats.html

parent e6a524a9
No related branches found
No related tags found
No related merge requests found
...@@ -53,7 +53,7 @@ browser.storage.onChanged.addListener((changes, area) => { ...@@ -53,7 +53,7 @@ browser.storage.onChanged.addListener((changes, area) => {
if (!extensionActive) { if (!extensionActive) {
log("Token ajouté, activation automatique de l'extension."); log("Token ajouté, activation automatique de l'extension.");
browser.storage.local.set({ extensionActive: true }); // Met à jour l'état de l'extension browser.storage.local.set({ extensionActive: true }); // Met à jour l'état de l'extension
updateExtension(); // Met à jour les fonctionnalités de l'extension // updateExtension(); // Met à jour les fonctionnalités de l'extension
// Envoie un message pour mettre à jour l'interface utilisateur // Envoie un message pour mettre à jour l'interface utilisateur
browser.runtime.sendMessage({ browser.runtime.sendMessage({
action: "updateUI", action: "updateUI",
...@@ -195,7 +195,7 @@ async function saveToken(token) { ...@@ -195,7 +195,7 @@ async function saveToken(token) {
const { extensionActive } = await browser.storage.local.get("extensionActive"); const { extensionActive } = await browser.storage.local.get("extensionActive");
if (!extensionActive) { if (!extensionActive) {
await browser.storage.local.set({ extensionActive: true }); // Met à jour l'état de l'extension await browser.storage.local.set({ extensionActive: true }); // Met à jour l'état de l'extension
updateExtension(); // Met à jour les fonctionnalités de l'extension // updateExtension(); // Met à jour les fonctionnalités de l'extension
browser.runtime.sendMessage({ browser.runtime.sendMessage({
action: "updateUI", action: "updateUI",
extensionActive: true, extensionActive: true,
......
...@@ -90,20 +90,42 @@ function setupEventListeners() { ...@@ -90,20 +90,42 @@ function setupEventListeners() {
// Sauvegarde des options // Sauvegarde des options
document.getElementById("save-options")?.addEventListener("click", handleSaveOptions); document.getElementById("save-options")?.addEventListener("click", handleSaveOptions);
// Ouverture de la page des statistiques // Ouverture de la page des statistiques via le bouton "Afficher les statistiques"
document.getElementById("open-stats")?.addEventListener("click", () => { document.getElementById("open-stats")?.addEventListener("click", () => {
openStatsPage(); openStatsPage();
}); });
// Ouverture de la page des statistiques via le bouton "Désactiver les statistiques"
document.getElementById("toggleStatsBtn")?.addEventListener("click", async () => {
const { isTrackingActive } = await browser.storage.local.get({ isTrackingActive: false });
if (isTrackingActive) {
openStatsPage().catch(err =>
console.error("Erreur lors de l'ouverture de stats.html :", err)
);
}
});
} }
/**
* Ouverture de la fenêtre de stats
*/
function openStatsPage() { function openStatsPage() {
window.open("stats.html"); return new Promise((resolve, reject) => {
log("Ouverture de la page de statistiques :") try {
const newWindow = window.open("stats.html");
if (!newWindow) {
reject(new Error("L'ouverture de stats.html a échoué (pop-up peut-être bloquée)"));
} else {
log("Ouverture de la page de statistiques");
resolve(newWindow);
}
} catch (err) {
reject(err);
}
});
} }
/** /**
* Gestion de la connexion / déconnexion * Gestion de la connexion / déconnexion
*/ */
...@@ -145,13 +167,10 @@ async function handleStatsToggle() { ...@@ -145,13 +167,10 @@ async function handleStatsToggle() {
log("Nouvel état des statistiques :", newState); log("Nouvel état des statistiques :", newState);
// Envoi du message de mise à jour // Envoi du message de mise à jour
browser.runtime.sendMessage({ command: "toggle-stats", isActive: newState }); browser.runtime.sendMessage({ command: "toggle-stats", isActive: newState });
// Ouvrir la page des statistiques si désactivé
if (!newState) {
openStatsPage();
}
// Exécution de Pyodide si nécessaire // Exécution de Pyodide si nécessaire
if (newState) { if (newState) {
browser.runtime.sendMessage({ command: "pyodide-simplemma" }); browser.runtime.sendMessage({ command: "pyodide-simplemma" });
// Si on active le suivi, ouvrir la page des statistiques
} else { } else {
// Désactivation : envoyer le message de désactivation à l'onglet actif // Désactivation : envoyer le message de désactivation à l'onglet actif
notifyAllTabs({ command: "deactivate-stats" }); notifyAllTabs({ command: "deactivate-stats" });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment