parent
84103d6001
commit
fa05d8c9d0
@ -0,0 +1,35 @@ |
||||
$(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); |
||||
}; |
||||
}); |
Loading…
Reference in new issue