CrowdProof-Observe-Firefox/options/options.js

43 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

2025-12-30 09:34:38 +00:00
// Load saved settings on page load
document.addEventListener('DOMContentLoaded', async () => {
const result = await browser.storage.local.get('serverUrl');
if (result.serverUrl) {
document.getElementById('serverUrl').value = result.serverUrl;
}
});
// Save settings
document.getElementById('save').addEventListener('click', async () => {
const serverUrl = document.getElementById('serverUrl').value.trim();
const statusEl = document.getElementById('status');
// Validate URL
if (!serverUrl) {
statusEl.textContent = 'Please enter a server URL';
statusEl.className = 'status error';
return;
}
try {
new URL(serverUrl);
} catch {
statusEl.textContent = 'Please enter a valid URL';
statusEl.className = 'status error';
return;
}
// Remove trailing slash for consistency
const normalizedUrl = serverUrl.replace(/\/+$/, '');
// Save to storage
await browser.storage.local.set({ serverUrl: normalizedUrl });
statusEl.textContent = 'Settings saved!';
statusEl.className = 'status success';
// Hide status after 2 seconds
setTimeout(() => {
statusEl.className = 'status';
}, 2000);
});