mirror of
https://github.com/khairul169/honey.git
synced 2025-04-28 14:59:32 +07:00
60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
export function addOnOffTile(conf, icon, name, desc, key, func) {
|
|
let item = document.createElement("div")
|
|
item.classList.add("setting")
|
|
item.innerHTML = `
|
|
<i>${icon}</i>
|
|
<div class="text">
|
|
<div class="name">${name}</div>
|
|
<div class="desc">${desc}</div>
|
|
</div>
|
|
<div class="switch"></div>`
|
|
|
|
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 = `<i class="${icon_class}"></i>
|
|
<div>
|
|
<div class="title">${name}</div>
|
|
<div class="subtitle">${desc}</div>
|
|
</div>`
|
|
|
|
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
|
|
}
|