export function addOnOffTile(conf, icon, name, desc, key, func) { let item = document.createElement("div") item.classList.add("setting") item.innerHTML = ` ${icon}
${name}
${desc}
` let handleState = () => { let c = item.classList if (conf.get(key)) c.add("checked") else c.remove("checked") } let write = () => { let target_value = !conf.get(key) conf.set(key, target_value) } let f = () => {func(conf)} item.addEventListener("click", write) item.addEventListener("click", handleState) if (func) item.addEventListener("click", f) handleState() if (func && conf.changed(key)) f() document.getElementById("settings").appendChild(item) return item } export function privacyBox(privacyScore, icon_class, levels) { let name, desc levels = levels.reverse() for (let i in levels) { let item = levels[i] if (item.from <= privacyScore) { name = levels[i].name desc = levels[i].desc break } } let item = document.createElement("div") item.innerHTML = `
${name}
${desc}
` if (privacyScore < 30) item.classList.add("error") else if (privacyScore < 90) item.classList.add("warn") else if (privacyScore < 100) item.classList.add("prewarn") document.getElementById("report-boxes").appendChild(item) return item }