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