2025-02-10 04:21:21 -05:00
|
|
|
// Store settings
|
|
|
|
let settings = {
|
|
|
|
logLimit: 50,
|
|
|
|
queryLimit: 30000,
|
|
|
|
stringSizeLimit: 500,
|
|
|
|
showRequestHeaders: false,
|
|
|
|
showResponseHeaders: false,
|
|
|
|
maxLogSize: 20000,
|
2025-02-11 00:56:07 -05:00
|
|
|
screenshotPath: "",
|
2025-02-10 04:21:21 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
// 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");
|
2025-02-11 00:56:07 -05:00
|
|
|
const screenshotPathInput = document.getElementById("screenshot-path");
|
2025-02-10 04:21:21 -05:00
|
|
|
|
|
|
|
// 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;
|
2025-02-11 00:56:07 -05:00
|
|
|
screenshotPathInput.value = settings.screenshotPath;
|
2025-02-10 04:21:21 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
// 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();
|
|
|
|
});
|
2025-02-11 00:56:07 -05:00
|
|
|
|
|
|
|
screenshotPathInput.addEventListener("change", (e) => {
|
|
|
|
settings.screenshotPath = e.target.value;
|
|
|
|
saveSettings();
|
|
|
|
});
|