// popup.js const STORAGE_ENDPOINT = '/_extension_storage'; // Your existing storage endpoint document.getElementById('clearTrace').addEventListener('click', function() { fetch(`${STORAGE_ENDPOINT}?clogs=true`) .catch(() => {}); document.getElementById('cleared').textContent = 'Cleared: trace'; }); document.getElementById('clearPoints').addEventListener('click', function() { fetch(`${STORAGE_ENDPOINT}?cpts=true`) .catch(() => {}); document.getElementById('cleared').textContent = 'Cleared: points'; }); // Handle the checkbox for enabling/disabling the font document.getElementById('toggleFont').addEventListener('change', function() { const isChecked = this.checked; // Set the font state in the extension's storage // Using chrome.storage.local for consistency with browser extension APIs chrome.storage.local.set({ fontEnabled: isChecked }); // Renamed key to 'fontEnabled' for clarity }); // Check the current font state when the popup is opened chrome.storage.local.get(['fontEnabled'], function(result) { // Default to true if not set (font enabled by default) document.getElementById('toggleFont').checked = (result.fontEnabled !== false); }); // --- NEW BGM TOGGLE LOGIC --- document.getElementById('toggleBGM').addEventListener('change', function() { const isChecked = this.checked; chrome.storage.local.set({ bgmEnabled: isChecked }, function() { // Optionally, send a message to content scripts to update immediately chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) { chrome.tabs.sendMessage(tabs[0].id, { action: "toggleBGM", enabled: isChecked }); }); }); }); // Check the current BGM state when the popup is opened chrome.storage.local.get(['bgmEnabled'], function(result) { // Default to false if not set (BGM disabled by default on startup) document.getElementById('toggleBGM').checked = (result.bgmEnabled === true); });