import { Storage } from './common'; async function saveProxy() { const host = (document.getElementById("proxyHost") as HTMLInputElement).value; const port = (document.getElementById("proxyPort") as HTMLInputElement).valueAsNumber; const bypass = (document.getElementById("proxyBypass") as HTMLInputElement).value; if (!host || !port) { const active = document.getElementById("proxyActive") as HTMLInputElement; active.disabled = true; active.checked = false; await toggleProxy(); } await chrome.storage.local.set({ host: host, port: port, bypass: bypass.split("\n") }); } async function toggleProxy() { await chrome.storage.session.set({ active: (document.getElementById("proxyActive") as HTMLInputElement).checked }); } async function fillForm() { (document.getElementById("proxySettings") as HTMLInputElement).addEventListener("submit", () => { void saveProxy(); }); (document.getElementById("proxyActive") as HTMLInputElement).addEventListener("click", () => { void toggleProxy(); }); const { host, port, bypass } = await chrome.storage.local.get(["host", "port", "bypass"]) as Storage; const { active } = await chrome.storage.session.get("active"); if (host) { (document.getElementById("proxyHost") as HTMLInputElement).value = host; } if (port) { (document.getElementById("proxyPort") as HTMLInputElement).valueAsNumber = port; } if (bypass) { (document.getElementById("proxyBypass") as HTMLInputElement).value = bypass.join("\n"); } if (host && port) { (document.getElementById("proxyActive") as HTMLInputElement).disabled = false; if (active) { (document.getElementById("proxyActive") as HTMLInputElement).checked = true; } } } window.addEventListener("DOMContentLoaded", () => { void fillForm(); });