// Store settings let settings = { logLimit: 50, queryLimit: 30000, stringSizeLimit: 500, showRequestHeaders: false, showResponseHeaders: false, maxLogSize: 20000, }; // Load saved settings on startup chrome.storage.local.get(["browserConnectorSettings"], (result) => { if (result.browserConnectorSettings) { settings = { ...settings, ...result.browserConnectorSettings }; updateUIFromSettings(); } }); // Initialize UI elements const logLimitInput = document.getElementById("log-limit"); const queryLimitInput = document.getElementById("query-limit"); const stringSizeLimitInput = document.getElementById("string-size-limit"); const showRequestHeadersCheckbox = document.getElementById( "show-request-headers" ); const showResponseHeadersCheckbox = document.getElementById( "show-response-headers" ); const maxLogSizeInput = document.getElementById("max-log-size"); // Update UI from settings function updateUIFromSettings() { logLimitInput.value = settings.logLimit; queryLimitInput.value = settings.queryLimit; stringSizeLimitInput.value = settings.stringSizeLimit; showRequestHeadersCheckbox.checked = settings.showRequestHeaders; showResponseHeadersCheckbox.checked = settings.showResponseHeaders; maxLogSizeInput.value = settings.maxLogSize; } // Save settings function saveSettings() { chrome.storage.local.set({ browserConnectorSettings: settings }); // Notify devtools.js about settings change chrome.runtime.sendMessage({ type: "SETTINGS_UPDATED", settings, }); } // Add event listeners for all inputs logLimitInput.addEventListener("change", (e) => { settings.logLimit = parseInt(e.target.value, 10); saveSettings(); }); queryLimitInput.addEventListener("change", (e) => { settings.queryLimit = parseInt(e.target.value, 10); saveSettings(); }); stringSizeLimitInput.addEventListener("change", (e) => { settings.stringSizeLimit = parseInt(e.target.value, 10); saveSettings(); }); showRequestHeadersCheckbox.addEventListener("change", (e) => { settings.showRequestHeaders = e.target.checked; saveSettings(); }); showResponseHeadersCheckbox.addEventListener("change", (e) => { settings.showResponseHeaders = e.target.checked; saveSettings(); }); maxLogSizeInput.addEventListener("change", (e) => { settings.maxLogSize = parseInt(e.target.value, 10); saveSettings(); });