swap logic for prettify checkbox
This commit is contained in:
parent
6c45d14d21
commit
15923516c7
68
main.js
68
main.js
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user