datatable.directory codebase
https://datatable.directory/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
6 years ago
|
$(function () {
|
||
|
// theme switcher without reloading
|
||
|
|
||
|
let themeStyle = $('#theme-style');
|
||
|
const lightURL = themeStyle.data('light-url');
|
||
|
const darkURL = themeStyle.data('dark-url');
|
||
|
const navbar = $('.page-navbar');
|
||
|
const logo = $('#navbar-logo');
|
||
|
|
||
|
window.toggleDarkMode = function () {
|
||
|
let newStyle = document.createElement('link');
|
||
|
newStyle.rel = 'stylesheet';
|
||
|
if (themeStyle.attr('href') === lightURL) {
|
||
|
newStyle.href = darkURL;
|
||
|
navbar.removeClass('navbar-light');
|
||
|
navbar.addClass('navbar-dark');
|
||
|
logo.attr('src', logo.data('src-dark'));
|
||
|
|
||
|
document.cookie = "dark_mode=1";
|
||
|
} else {
|
||
|
newStyle.href = lightURL;
|
||
|
navbar.removeClass('navbar-dark');
|
||
|
navbar.addClass('navbar-light');
|
||
|
logo.attr('src', logo.data('src-light'));
|
||
|
|
||
|
document.cookie = "dark_mode=0;expires=" + new Date().toUTCString();
|
||
|
}
|
||
|
|
||
|
// remove old css after new css has loaded to prevent FOUC
|
||
|
let oldThemeStyle = themeStyle;
|
||
|
themeStyle = $(newStyle);
|
||
|
themeStyle.on('load', () => oldThemeStyle.remove());
|
||
|
$(document.head).append(themeStyle);
|
||
|
};
|
||
|
});
|