<!-- Styles -->
<link rel="stylesheet" type="text/css" href="/static/assets/css/tribute.css" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/litera.min.css" id="litera" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/minty.min.css" id="minty" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/solar.min.css" id="solar" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/united.min.css" id="united" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/cyborg.min.css" id="cyborg" />
<link rel="stylesheet" type="text/css" href="/static/assets/css/themes/darkly.min.css" id="darkly" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/journal.min.css" id="journal" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/sketchy.min.css" id="sketchy" />
- <link rel="stylesheet" type="text/css" href="/static/assets/css/themes/vaporwave.min.css" id="vaporwave" />
<link rel="stylesheet" type="text/css" href="/static/assets/css/main.css" />
<!-- Scripts -->
if (jwt) {
this.setUser(jwt);
} else {
- setTheme();
+ if (this.user.theme != 'darkly') {
+ setTheme();
+ }
console.log('No JWT cookie found.');
}
}
private setUser(jwt: string) {
this.user = jwt_decode(jwt);
- setTheme(this.user.theme);
+ if (this.user.theme != 'darkly') {
+ setTheme(this.user.theme);
+ }
this.sub.next({ user: this.user, unreadCount: 0 });
console.log(this.user);
}
];
export function setTheme(theme: string = 'darkly') {
+ // unload all the other themes
for (var i = 0; i < themes.length; i++) {
let styleSheet = document.getElementById(themes[i]);
- if (themes[i] == theme) {
- styleSheet.removeAttribute('disabled');
- } else {
+ if (styleSheet) {
styleSheet.setAttribute('disabled', 'disabled');
}
}
+
+ // Load the theme dynamically
+ if (!document.getElementById(theme)) {
+ var head = document.getElementsByTagName('head')[0];
+ var link = document.createElement('link');
+ link.id = theme;
+ link.rel = 'stylesheet';
+ link.type = 'text/css';
+ link.href = `/static/assets/css/themes/${theme}.min.css`;
+ link.media = 'all';
+ head.appendChild(link);
+ }
+ document.getElementById(theme).removeAttribute('disabled');
}