From d538892da62ce2614b9493e64b79f8bac1438fb6 Mon Sep 17 00:00:00 2001 From: Nicholas Tay Date: Wed, 22 Feb 2023 20:47:39 +0100 Subject: Somewhat working options page Need to fix per tab thing --- options.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 options.js (limited to 'options.js') diff --git a/options.js b/options.js new file mode 100644 index 0000000..2d42932 --- /dev/null +++ b/options.js @@ -0,0 +1,41 @@ +function addCertField() { + let elem = document.getElementById("certs"); + elem.insertAdjacentHTML("beforeend", `
  • `) +} + +function saveOptions() { + let certs = []; + for (let child of document.getElementById("certs").children) { + let cert = child.children[0].value; + if (!cert) + continue; + certs.push(cert); + } + browser.storage.sync.set({ + certs: certs + }).then(() => { + restoreOptions(); // reload list + alert("Saved"); + }); +} + +function restoreOptions() { + let getting = browser.storage.sync.get("certs"); + getting.then(saved => { + let certs = saved.certs || []; + let elem = document.getElementById("certs"); + elem.innerHTML = ""; + for (let cert of certs) { + let li = document.createElement("li"); + let input = document.createElement("input"); + input.type = "text"; + input.value = cert; + li.appendChild(input); + elem.appendChild(li); + } + }, console.error); +} + +document.addEventListener("DOMContentLoaded", restoreOptions); +document.getElementById("save").addEventListener("click", saveOptions); +document.getElementById("addCert").addEventListener("click", addCertField) \ No newline at end of file -- cgit