swap logic for prettify checkbox

This commit is contained in:
Zhora Shalyapin 2025-03-19 12:25:50 +00:00
parent 6c45d14d21
commit 15923516c7

68
main.js
View File

@ -70,7 +70,7 @@
LONGITUDE: "longitude", LONGITUDE: "longitude",
ALWAYS_PRETTIFY: "always", ALWAYS_PRETTIFY: "always",
REDIRECT_EXIT: "redirectExit", REDIRECT_EXIT: "redirectExit",
ENABLED_PAGES: "enabledPages" DISABLED_PAGES: "disabledPages"
} }
const prettifyTypes = { const prettifyTypes = {
@ -1912,41 +1912,41 @@
`) `)
} }
function getEnabledPages() { function getDisabledPages() {
return JSON.parse(localStorage.getItem(localStorageItems.ENABLED_PAGES) ?? "{}") return JSON.parse(localStorage.getItem(localStorageItems.DISABLED_PAGES) ?? "{}")
} }
function saveEnabledPages(enabledPages) { function saveDisabledPages(pages) {
localStorage.setItem(localStorageItems.ENABLED_PAGES, JSON.stringify(enabledPages)) localStorage.setItem(localStorageItems.DISABLED_PAGES, JSON.stringify(pages))
} }
function isPageEnabled() { function isPageDisabled() {
let enabledPages = getEnabledPages() let disabledPages = getDisabledPages()
let pageType = getPageType() let pageType = getPageType()
return enabledPages[pageType]?.[getAction()] return disabledPages[pageType]?.[getAction()]
} }
function addEnabledPage(prettifyType) { function addDisabledPage() {
let enabledPages = getEnabledPages() let disabledPages = getDisabledPages()
let pageType = getPageType() let pageType = getPageType()
if (!(pageType in enabledPages)) { if (!(pageType in disabledPages)) {
enabledPages[pageType] = {} disabledPages[pageType] = {}
} }
enabledPages[pageType][getAction()] = prettifyType disabledPages[pageType][getAction()] = true
saveEnabledPages(enabledPages) saveDisabledPages(disabledPages)
} }
function removeEnabledPage() { function removeDisabledPage() {
let enabledPages = getEnabledPages() let disabledPages = getDisabledPages()
let pageType = getPageType() let pageType = getPageType()
if (!(pageType in enabledPages)) { if (!(pageType in disabledPages)) {
return return
} }
delete enabledPages[pageType][getAction()] delete disabledPages[pageType][getAction()]
saveEnabledPages(enabledPages) saveDisabledPages(disabledPages)
} }
function addEnableButtons() { function addEnableButtons() {
@ -1954,16 +1954,14 @@
enableButton.type = "button" enableButton.type = "button"
enableButton.id = "enable-button" enableButton.id = "enable-button"
enableButton.textContent = "Сделать красиво" enableButton.textContent = "Сделать красиво"
if (isPageEnabled()) { if (!isPageDisabled()) {
hide([enableButton]) hide([enableButton])
} }
enableButton.addEventListener("click", () => { enableButton.addEventListener("click", () => {
if (pretty) return if (pretty) return
hide([enableButton]) hide([enableButton])
let alwaysEnable = document.querySelector("#always-enable")?.checked prettify()
addEnabledPage(alwaysEnable ? prettifyTypes.ALWAYS : prettifyTypes.ONCE)
prettifyIfEnabled()
}) })
let header = document.querySelector("#header") let header = document.querySelector("#header")
@ -1991,7 +1989,7 @@
if (!confirm("Это действие отключит скрипт на этой странице и удалит все несохраненные данные")) return if (!confirm("Это действие отключит скрипт на этой странице и удалит все несохраненные данные")) return
removeEnabledPage() addDisabledPage()
location.reload() location.reload()
pretty = false pretty = false
}) })
@ -2014,12 +2012,12 @@
alwaysEnableCheckbox.name = "always-enable" alwaysEnableCheckbox.name = "always-enable"
alwaysEnableCheckbox.addEventListener("change", function() { alwaysEnableCheckbox.addEventListener("change", function() {
if (this.checked) if (this.checked)
addEnabledPage(prettifyTypes.ALWAYS) removeDisabledPage()
else else
removeEnabledPage() addDisabledPage()
}) })
if (isPageEnabled() == prettifyTypes.ALWAYS) { if (!isPageDisabled()) {
alwaysEnableCheckbox.checked = true alwaysEnableCheckbox.checked = true
} }
@ -2028,13 +2026,8 @@
return alwaysEnableContainer return alwaysEnableContainer
} }
function prettifyIfEnabled() { function prettify() {
let pageEnabled = isPageEnabled() if (pretty) return
if (pretty || !pageEnabled) return
if (pageEnabled == prettifyTypes.ONCE) {
removeEnabledPage()
}
pretty = true pretty = true
@ -2067,6 +2060,13 @@
} }
} }
function prettifyIfEnabled() {
let pageDisabled = isPageDisabled()
if (pageDisabled) return
prettify()
}
/* REDIRECTS */ /* REDIRECTS */
redirectAfterNewCpIfNeeded() redirectAfterNewCpIfNeeded()