mirror of
https://github.com/0dayCTF/reverse-shell-generator.git
synced 2024-12-19 19:36:10 +00:00
46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
|
var darkSwitch = document.getElementById("darkSwitch");
|
||
|
window.addEventListener("load", function () {
|
||
|
if (darkSwitch) {
|
||
|
initTheme();
|
||
|
darkSwitch.addEventListener("change", function () {
|
||
|
resetTheme();
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* Summary: function that adds or removes the attribute 'data-theme' depending if
|
||
|
* the switch is 'on' or 'off'.
|
||
|
*
|
||
|
* Description: initTheme is a function that uses localStorage from JavaScript DOM,
|
||
|
* to store the value of the HTML switch. If the switch was already switched to
|
||
|
* 'on' it will set an HTML attribute to the body named: 'data-theme' to a 'dark'
|
||
|
* value. If it is the first time opening the page, or if the switch was off the
|
||
|
* 'data-theme' attribute will not be set.
|
||
|
* @return {void}
|
||
|
*/
|
||
|
function initTheme() {
|
||
|
var darkThemeSelected =
|
||
|
localStorage.getItem("darkSwitch") !== null &&
|
||
|
localStorage.getItem("darkSwitch") === "dark";
|
||
|
darkSwitch.checked = darkThemeSelected;
|
||
|
darkThemeSelected
|
||
|
? document.body.setAttribute("data-theme", "dark")
|
||
|
: document.body.removeAttribute("data-theme");
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Summary: resetTheme checks if the switch is 'on' or 'off' and if it is toggled
|
||
|
* on it will set the HTML attribute 'data-theme' to dark so the dark-theme CSS is
|
||
|
* applied.
|
||
|
* @return {void}
|
||
|
*/
|
||
|
function resetTheme() {
|
||
|
if (darkSwitch.checked) {
|
||
|
document.body.setAttribute("data-theme", "dark");
|
||
|
localStorage.setItem("darkSwitch", "dark");
|
||
|
} else {
|
||
|
document.body.removeAttribute("data-theme");
|
||
|
localStorage.removeItem("darkSwitch");
|
||
|
}
|
||
|
}
|