main.js: "transactional" transisition from default to user-selected style

This commit is contained in:
Zankaria 2024-08-23 12:22:01 +02:00
parent 3994afd10d
commit 990484fac5

View file

@ -137,16 +137,25 @@ function changeStyle(styleName, link) {
{% endif %} {% endif %}
{% raw %} {% raw %}
// Main stylesheet let mainStylesheetElement = document.getElementById('stylesheet');
if (!document.getElementById('stylesheet')) { let userStylesheetElement = document.getElementById('stylesheet-user');
var s = document.createElement('link');
s.rel = 'stylesheet'; // Override main stylesheet with the user selected one.
s.type = 'text/css'; if (!userStylesheetElement) {
s.id = 'stylesheet'; userStylesheetElement = document.createElement('link');
var x = document.getElementsByTagName('head')[0]; userStylesheetElement.rel = 'stylesheet';
x.appendChild(s); userStylesheetElement.media = 'none';
userStylesheetElement.type = 'text/css';
userStylesheetElement.id = 'stylesheet';
let x = document.getElementsByTagName('head')[0];
x.appendChild(userStylesheetElement);
} }
// When the new one is loaded, disable the old one
userStylesheetElement.onload = function() {
this.media = 'all';
mainStylesheetElement.media = 'none';
}
document.getElementById('stylesheet').href = styles[styleName]; document.getElementById('stylesheet').href = styles[styleName];
selectedstyle = styleName; selectedstyle = styleName;