mirror of
https://github.com/Anvilcraft/jensmemes
synced 2024-11-25 21:32:30 +01:00
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
let select = document.getElementById("themeswitcher");
|
|
let theme = document.getElementById("theme");
|
|
|
|
if (checkCookie("theme")) {
|
|
setTheme(getCookie("theme"));
|
|
select.value = getCookie("theme");
|
|
}
|
|
|
|
select.addEventListener("change", e => {
|
|
let selTheme = select.options[select.selectedIndex].value;
|
|
setTheme(selTheme);
|
|
setCookie("theme", selTheme, 60);
|
|
});
|
|
|
|
function setTheme(themeName) {
|
|
theme.href = "/themes/" + themeName + ".css";
|
|
}
|
|
|
|
function getCookie(cname) {
|
|
var name = cname + "=";
|
|
var decodedCookie = decodeURIComponent(document.cookie);
|
|
var ca = decodedCookie.split(";");
|
|
for (var i = 0; i < ca.length; i++) {
|
|
var c = ca[i];
|
|
while (c.charAt(0) == " ") {
|
|
c = c.substring(1);
|
|
}
|
|
if (c.indexOf(name) == 0) {
|
|
return c.substring(name.length, c.length);
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
function setCookie(cname, cvalue, exdays) {
|
|
var d = new Date();
|
|
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
|
|
var expires = "expires=" + d.toUTCString();
|
|
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
|
|
}
|
|
|
|
function checkCookie(cookieName) {
|
|
return getCookie(cookieName) != "";
|
|
}
|