Web/scripts/main.js
2020-04-02 21:54:20 +02:00

57 lines
No EOL
1.6 KiB
JavaScript

let dark = getCookie("dark") === "true";
let cookieNotification = getCookie("notification") !== "true";
let pride = new Date().getMonth() == 5;
if (dark) {
document.write('<link rel="stylesheet" href="style/dark.css">')
document.write('<link rel="stylesheet" href="style/prettify-dark.css">')
}
if (pride)
document.write('<link rel="stylesheet" href="style/pride.css">')
$(function () {
let openModals = function (hash) {
if (hash && hash.length > 1) {
let modal = $(`${hash}-modal`);
if (modal.length)
modal.modal('show');
}
}
openModals(window.location.hash);
$('a').on('click', function () {
openModals($(this).attr('href'));
});;
$('.navbar-collapse a').on('click', function () {
$('.navbar-collapse').collapse('hide');
});
$('#blobheart').on('click', function () {
$('#navbar-image').attr('src', 'res/heart.png');
});
let mode = $('#dark-mode');
mode.prop('checked', dark);
mode.on('click', function () {
setCookie("dark", $(this).prop('checked'), 365);
window.location.hash = "";
location.reload();
});
PR.prettyPrint();
});
function getCookie(key) {
let c = document.cookie;
if (!c)
return undefined;
let start = c.indexOf(key + "=") + key.length + 1;
let end = c.indexOf(";", start);
return c.substring(start, end < 0 ? c.length : end);
}
function setCookie(key, value, days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
document.cookie = key + "=" + value + "; expires=" + date.toUTCString();
}