const browserAPI = typeof browser !== 'undefined' ? browser : chrome; function saveOptions(event) { event.preventDefault(); const serverUrl = document.querySelector("#server-url").value; const password = document.querySelector("#password").value; if (serverUrl.trim() === "" || password.trim() === "") { alert("URL сервера и пароль не могут быть пустыми!"); return; } if (typeof browser !== 'undefined') { browserAPI.storage.sync.set({ serverUrl, password }) .then(() => { showStatus("Настройки сохранены!"); }) .catch((error) => { console.error("Ошибка сохранения настроек:", error); showStatus("Ошибка сохранения!", true); }); } else { browserAPI.storage.sync.set({ serverUrl, password }, () => { if (chrome.runtime.lastError) { console.error("Ошибка сохранения настроек:", chrome.runtime.lastError); showStatus("Ошибка сохранения!", true); } else { showStatus("Настройки сохранены!"); } }); } } function restoreOptions() { if (typeof browser !== 'undefined') { browserAPI.storage.sync.get(["serverUrl", "password"]) .then((result) => { updateFormFields(result); }) .catch((error) => { console.error("Ошибка загрузки настроек:", error); updateFormFields({}); }); } else { browserAPI.storage.sync.get(["serverUrl", "password"], (result) => { if (chrome.runtime.lastError) { console.error("Ошибка загрузки настроек:", chrome.runtime.lastError); updateFormFields({}); } else { updateFormFields(result); } }); } } function updateFormFields(result) { document.querySelector("#server-url").value = result.serverUrl || "http://localhost:5000/submit"; document.querySelector("#password").value = result.password || ""; } function showStatus(message, isError = false) { const status = document.querySelector("#status"); status.textContent = message; status.style.color = isError ? "red" : "green"; setTimeout(() => { status.textContent = ""; status.style.color = ""; }, 2000); } document.addEventListener("DOMContentLoaded", restoreOptions); document.querySelector("#settings-form").addEventListener("submit", saveOptions);