From 1171bc1cdf62ddfe056d1ab935098e1ef0cfe8f6 Mon Sep 17 00:00:00 2001 From: vitorsemeano Date: Sat, 7 Nov 2020 11:56:46 +0000 Subject: [PATCH] passed default theme handling to webSettings --- src/scripts/settings/webSettings.js | 25 ++++++++++++++++++++++--- src/scripts/themeManager.js | 10 +--------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/scripts/settings/webSettings.js b/src/scripts/settings/webSettings.js index 1304b83b9..ae50c6828 100644 --- a/src/scripts/settings/webSettings.js +++ b/src/scripts/settings/webSettings.js @@ -1,4 +1,3 @@ - let data; const urlResolver = document.createElement('a'); @@ -86,12 +85,32 @@ export function getMultiServer() { }); } +const defaultTheme = { + 'name': 'Dark', + 'id': 'dark', + 'default': true +}; + +const checkDefaultTheme = (themes) => { + if (themes) { + const defaultTheme = themes.find((theme) => theme.default); + + if (!defaultTheme) { + themes.push(defaultTheme); + } + + return themes; + } + + return [defaultTheme]; +}; + export function getThemes() { return getConfig().then(config => { - return config.themes; + return checkDefaultTheme(Array.isArray(config.themes) ? config.themes : []); }).catch(error => { console.log('cannot get web config:', error); - return []; + return checkDefaultTheme(); }); } diff --git a/src/scripts/themeManager.js b/src/scripts/themeManager.js index ddaa9c456..f7dcf597d 100644 --- a/src/scripts/themeManager.js +++ b/src/scripts/themeManager.js @@ -17,18 +17,10 @@ function getThemes() { function getThemeStylesheetInfo(id) { return getThemes().then(themes => { - let theme = themes.find(theme => { + const theme = themes.find(theme => { return id ? theme.id === id : theme.default; }); - if (!theme) { - theme = { - 'name': 'Dark', - 'id': 'dark', - 'default': true - }; - } - return { stylesheetPath: 'themes/' + theme.id + '/theme.css', themeId: theme.id