From 01482068726ee6de5336ed01bfadaeaaaf02666e Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Tue, 17 Jun 2025 22:33:24 -0500 Subject: settings page save/load config --- src/settings.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/settings.js (limited to 'src/settings.js') diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..fd8bdad --- /dev/null +++ b/src/settings.js @@ -0,0 +1,16 @@ +import apiConnector from "./connector.js" + +export default async function initSettings(settingsPageContainer) { + const inputList = Array.from(settingsPageContainer.querySelectorAll("[name]")) + const inputs = Object.fromEntries(inputList.map(e => [e.name, e])) + const currentConfig = await apiConnector.fetchConfig() + + for (const [name, value] of Object.entries(currentConfig)) + if (inputs[name]) + inputs[name].value = value + + settingsPageContainer.querySelector("#settings-submit").addEventListener("click", e => { + e.preventDefault() + apiConnector.updateConfig(Object.fromEntries(inputList.map(el => [el.name, el.type === "number" ? parseFloat(el.value) : el.value]))) + }) +} -- cgit v1.2.3