-function set_style(name){
- $('link[rel~="stylesheet"]').each(function (e){
- e.disabled = true;
- });
- $('link[title="' + name + '"]')[0].disabled = false;
+function set_style(name, trans){
+ if(trans){
+ document.body.classList.add('transition-color');
+ setTimeout(() => document.body.classList.remove('transition-color'), 1000);
+ }
+ q('html').className = name;
localStorage.setItem("theme", name);
-}
-
-var theme_ul;
-
-function add_themelink(theme, text) {
- theme_ul.innerHTML += '<li><a role="button" data-theme="' + theme + '">' + text + '</a>'
+ $(function() {
+ if(name == 'slate' || name == 'cyborg')
+ $('img').each(e => e.setAttribute('src', e.getAttribute('src').replace('logos/light', 'logos/dark')));
+ else
+ $('img').each(e => e.setAttribute('src', e.getAttribute('src').replace('logos/dark', 'logos/light')));
+ });
}
$(function() {
- theme_ul = document.createElement('ul');
- theme_ul.className = 'list-inline';
- theme_ul.id = 'themes';
- add_themelink('cyborg', 'Black');
- add_themelink('slate', 'Grey');
- add_themelink('readable', 'White');
- var sidebar = $('#sidebar')[0];
- sidebar.insertBefore(theme_ul, sidebar.firstChild);
- $('#themes a').on('click', function(e){
- set_style(this.dataset.theme);
- });
+ const theme_ul = '<ul class="list-inline" id="themes">' +
+ '<li><a role="button" data-theme="cyborg">Black</a>' +
+ '<li><a role="button" data-theme="slate">Grey</a>' +
+ '<li><a role="button" data-theme="readable">White</a></ul>';
+ const sidebar = q('#sidebar');
+ sidebar.insertBefore(m(theme_ul), sidebar.firstChild);
+ $('#themes a').on('click', e => set_style(e.target.dataset.theme, true));
});
-var theme = localStorage.getItem("theme");
-if(theme) {
- if(theme == "cerulean" || theme == "cosmo")
- theme = "readable";
- set_style(theme);
-}
+const theme = localStorage.getItem("theme");
+if(theme)
+ set_style(theme == "cerulean" || theme == "cosmo" ? "readable" : theme, false);