diff --git a/packages/node_modules/@node-red/editor-api/lib/editor/theme.js b/packages/node_modules/@node-red/editor-api/lib/editor/theme.js index d3f158a23..224f4cf6c 100644 --- a/packages/node_modules/@node-red/editor-api/lib/editor/theme.js +++ b/packages/node_modules/@node-red/editor-api/lib/editor/theme.js @@ -133,7 +133,7 @@ async function loadThemePlugin () { } // check and load page settings from theme if (themePlugin.page) { - if (themePlugin.page.favicon && !theme.page.favicon) { + if (themePlugin.page.favicon) { const result = serveFilesFromTheme( [themePlugin.page.favicon], themeApp, @@ -145,7 +145,7 @@ async function loadThemePlugin () { themeContext.page.favicon = result[0] } } - if (themePlugin.page.tabicon && themePlugin.page.tabicon.icon && !theme.page.tabicon) { + if (themePlugin.page.tabicon && themePlugin.page.tabicon.icon) { const result = serveFilesFromTheme( [themePlugin.page.tabicon.icon], themeApp, @@ -158,14 +158,13 @@ async function loadThemePlugin () { themeContext.page.tabicon.colour = themeContext.page.tabicon.colour || themeContext.page.tabicon.colour } } - // if the plugin has a title AND the users settings.js does NOT - if (themePlugin.page.title && !theme.page.title) { + if (themePlugin.page.title) { themeContext.page.title = themePlugin.page.title || themeContext.page.title } } // check and load header settings from theme if (themePlugin.header) { - if (themePlugin.header.image && !theme.header.image) { + if (themePlugin.header.image) { const result = serveFilesFromTheme( [themePlugin.header.image], themeApp, @@ -177,16 +176,20 @@ async function loadThemePlugin () { themeContext.header.image = result[0] } } - // if the plugin has a title AND the users settings.js does NOT have a title - if (themePlugin.header.title && !theme.header.title) { + // if the plugin has a title + if (themePlugin.header.title) { themeContext.header.title = themePlugin.header.title || themeContext.header.title } - // if the plugin has a header url AND the users settings.js does NOT - if (themePlugin.header.url && !theme.header.url) { + // if the plugin has a header url + if (themePlugin.header.url) { themeContext.header.url = themePlugin.header.url || themeContext.header.url } } + if (themePlugin.menu) { + themeSettings.menu = Object.assign({}, themeSettings.menu, themePlugin.menu); + } + if (Array.isArray(themePlugin.palette?.theme)) { themeSettings.palette = themeSettings.palette || {}; themeSettings.palette.theme = themePlugin.palette.theme;