From 0448f15322a91b143e1c7eb9d2fe87e6b31b4f58 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Jul 2024 00:05:45 -0400 Subject: [PATCH] Classify user brews as V3 if they use V3 Each theme in the theme chain, including user brews, must use the same renderer. When moving to V4 or future versions, it will be important to distinguish which themes are compatible with each other --- client/homebrew/editor/metadataEditor/metadataEditor.jsx | 3 +-- server/homebrew.api.js | 8 +++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/client/homebrew/editor/metadataEditor/metadataEditor.jsx b/client/homebrew/editor/metadataEditor/metadataEditor.jsx index a71b6cbc2..0eee308ff 100644 --- a/client/homebrew/editor/metadataEditor/metadataEditor.jsx +++ b/client/homebrew/editor/metadataEditor/metadataEditor.jsx @@ -192,7 +192,7 @@ const MetadataEditor = createClass({ renderThemeDropdown : function(){ if(!global.enable_themes) return; - const mergedThemes = { ...Themes, ...this.props.userThemes }; + const mergedThemes = _.merge(Themes, this.props.userThemes); const listThemes = (renderer)=>{ return _.map(_.values(mergedThemes[renderer]), (theme)=>{ @@ -230,7 +230,6 @@ const MetadataEditor = createClass({ {/*listThemes('Legacy')*/} {listThemes('V3')} - {listThemes('Brew')} ; } diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 1709f4f46..747a83b55 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -55,16 +55,18 @@ const api = { 'thumbnail', 'textBin', 'text', - 'authors' + 'authors', + 'renderer' ]; const userThemes = {}; - const brews = await HomebrewModel.getByUser(username, true, fields, { tags: { $in: ['meta:theme', 'meta:Theme'] }, renderer: { $ne: 'Legacy' } }); + const brews = await HomebrewModel.getByUser(username, true, fields, { tags: { $in: ['meta:theme', 'meta:Theme'] }}); if(brews) { for (const brew of brews) { - userThemes[brew.shareId] = { + userThemes[brew.renderer] ??= {}; + userThemes[brew.renderer][brew.shareId] = { name : brew.title, renderer : brew.renderer, baseTheme : brew.theme,