| button.main-button.active::after { | button.main-button.active::after { | ||||
| opacity: 1.0; | opacity: 1.0; | ||||
| } | } | ||||
| button.main-button.active:hover::after { | |||||
| opacity: 0.15; | |||||
| } | |||||
| button.main-button.whitelist::after { | button.main-button.whitelist::after { | ||||
| opacity: 0.15; | opacity: 0.15; | ||||
| } | } | ||||
| /********/ | /********/ | ||||
| /* MISC */ | |||||
| /* INFO */ | |||||
| /********/ | /********/ | ||||
| .misc { | |||||
| height: 4rem; | |||||
| .info { | |||||
| height: 6rem; | |||||
| position: relative; | position: relative; | ||||
| display: flex; | display: flex; | ||||
| flex-flow: column; | |||||
| font-family: Inconsolata, sans-serif; | |||||
| font-size: 1rem; | |||||
| padding: 10px 8px 6px 8px; | |||||
| line-height: 1; | |||||
| } | } | ||||
| .misc > * { | |||||
| .info > * { | |||||
| flex: 1 1 auto; | flex: 1 1 auto; | ||||
| } | } | ||||
| .info.whitelist { | |||||
| background-color: #000; | |||||
| color: #fff; | |||||
| } | |||||
| .mode-display, | |||||
| .status-display { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| cursor: default; | |||||
| } | |||||
| .mode-display::after, | |||||
| .status-display::after { | |||||
| font-weight: bold; | |||||
| } | |||||
| /*================*/ | /*================*/ | ||||
| /*= MODE DISPLAY =*/ | /*= MODE DISPLAY =*/ | ||||
| /*================*/ | /*================*/ | ||||
| .mode-display { | |||||
| font-family: Inconsolata, sans-serif; | |||||
| padding: 10px; | |||||
| display: block; | |||||
| text-align: center; | |||||
| font-weight: bold; | |||||
| font-size: 1rem; | |||||
| line-height: 1.35; | |||||
| cursor: default; | |||||
| } | |||||
| .mode-display::before { | |||||
| content: "Mode:"; | |||||
| display: block; | |||||
| font-weight: normal; | |||||
| } | |||||
| .mode-display.whitelist { | |||||
| background-color: #000; | |||||
| color: #fff; | |||||
| } | |||||
| .mode-display::after { | .mode-display::after { | ||||
| content: "Blacklist"; | content: "Blacklist"; | ||||
| margin: 0 0 0 8px; | |||||
| } | } | ||||
| .mode-display.whitelist::after { | |||||
| .info.whitelist .mode-display::after { | |||||
| content: "Whitelist"; | content: "Whitelist"; | ||||
| } | } | ||||
| /*==================*/ | |||||
| /*= STATUS DISPLAY =*/ | |||||
| /*==================*/ | |||||
| .status-display { | |||||
| flex-flow: column; | |||||
| line-height: 1.25; | |||||
| font-size: 0.875rem; | |||||
| } | |||||
| .status-display::after { | |||||
| font-size: 1.5rem; | |||||
| line-height: 1; | |||||
| margin: 2px 0 0 0; | |||||
| } | |||||
| .status-display::after, | |||||
| .info.whitelist .status-display.active::after { | |||||
| content: "No"; | |||||
| } | |||||
| .status-display.active::after, | |||||
| .info.whitelist .status-display::after { | |||||
| content: "Yes"; | |||||
| } | |||||
| /*=================*/ | /*=================*/ | ||||
| /*= RELOAD BUTTON =*/ | /*= RELOAD BUTTON =*/ | ||||
| /*=================*/ | /*=================*/ | ||||
| overflow: hidden; | overflow: hidden; | ||||
| position: absolute; | position: absolute; | ||||
| width: calc(100% - 10px); | width: calc(100% - 10px); | ||||
| height: calc(6rem - 10px); | |||||
| top: -4rem; | top: -4rem; | ||||
| left: 5px; | left: 5px; | ||||
| } | } | ||||
| max-height: 1000px; | max-height: 1000px; | ||||
| padding: 8px; | padding: 8px; | ||||
| border: 1px solid #ddd; | border: 1px solid #ddd; | ||||
| top: 6px; | |||||
| top: 5px; | |||||
| } | } | ||||
| button.reload-button:hover { | button.reload-button:hover { | ||||
| color: #000; | color: #000; |
| <div class='main-button-container'> | <div class='main-button-container'> | ||||
| <button type='button' class='main-button'></button> | <button type='button' class='main-button'></button> | ||||
| </div> | </div> | ||||
| <div class='misc'> | |||||
| <span class='mode-display'></span> | |||||
| <div class='info'> | |||||
| <span class='mode-display'>Mode: </span> | |||||
| <span class='status-display'>Killing stickies? </span> | |||||
| <button type='button' class='reload-button'></button> | <button type='button' class='reload-button'></button> | ||||
| </div> | </div> | ||||
| <div class='aux-button-container'> | <div class='aux-button-container'> |
| } | } | ||||
| function updateUIState() { | function updateUIState() { | ||||
| let button = document.querySelector("button.main-button"); | |||||
| let modeDisplay = document.querySelector(".mode-display"); | |||||
| let mainButton = document.querySelector("button.main-button"); | |||||
| let info = document.querySelector(".info"); | |||||
| let statusLabel = document.querySelector(".info .status-display"); | |||||
| var active, whitelist; | |||||
| if (ASK.mode == "blacklist") { | if (ASK.mode == "blacklist") { | ||||
| if (ASK.pageMatched && !ASK.pageExcluded) { | if (ASK.pageMatched && !ASK.pageExcluded) { | ||||
| button.classList.toggle("active", true); | |||||
| active = true; | |||||
| } else { | } else { | ||||
| button.classList.toggle("active", false); | |||||
| active = false; | |||||
| } | } | ||||
| button.classList.toggle("whitelist", false); | |||||
| modeDisplay.classList.toggle("whitelist", false); | |||||
| } else { | } else { | ||||
| if (!ASK.pageExcluded) { | if (!ASK.pageExcluded) { | ||||
| button.classList.toggle("active", false); | |||||
| active = false; | |||||
| } else { | } else { | ||||
| button.classList.toggle("active", true); | |||||
| active = true; | |||||
| } | } | ||||
| button.classList.toggle("whitelist", true); | |||||
| modeDisplay.classList.toggle("whitelist", true); | |||||
| } | } | ||||
| mainButton.classList.toggle("active", active); | |||||
| statusLabel.classList.toggle("active", active); | |||||
| mainButton.classList.toggle("whitelist", (ASK.mode == "whitelist")); | |||||
| info.classList.toggle("whitelist", (ASK.mode == "whitelist")); | |||||
| } | } | ||||
| /******************/ | /******************/ |