0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-26 18:12:40 +00:00

Rework detection of user brews to look up themeid in static themes list before assuming is a user brew.

Ended up being a fairly straightforward change. A few ternaries got smooshed or inverted. Passes builtin and local tests. Need to compare on the test instance.
This commit is contained in:
David Bolack
2024-07-08 18:12:58 -05:00
parent ea6595d4d6
commit 656edb07ea
5 changed files with 18 additions and 22 deletions

View File

@@ -188,27 +188,24 @@ const BrewRenderer = (props)=>{
document.dispatchEvent(new MouseEvent('click'));
};
let brewThemeRendererPath = props?.renderer ? props.renderer : 'Legacy';
// Correct for casing vs theme.json
if(brewThemeRendererPath == 'legacy') { brewThemeRendererPath = 'Legacy'; }
if(props?.theme && (props?.theme[0] === '#')) {
brewThemeRendererPath = 'Brew';
}
let brewThemeRendererPath = `${props?.renderer ? _.upperFirst(props.renderer) : 'V3'}`;
let themePath = props.theme ?? '5ePHB';
const Themes = { ...staticThemes, ...props.userThemes };
const baseThemePath = (themePath && themePath[0] !== '#') ? Themes[brewThemeRendererPath][themePath].baseTheme : 'Brew';
let staticOrUserParent;
let baseThemePath = null;
// Override static theme values if a Brew theme.
if(themePath && themePath[0] === '#') {
themePath = themePath.slice(1);
if (!Themes[brewThemeRendererPath].hasOwnProperty(themePath)) {
brewThemeRendererPath = '';
staticOrUserParent = `/cssParent/${themePath}`;
baseThemePath = 'Brew';
} else {
baseThemePath = Themes[brewThemeRendererPath][themePath].baseTheme
brewThemeRendererPath += '/';
staticOrUserParent = `/css/${brewThemeRendererPath}${baseThemePath}`;
}
const staticOrUserParent = (props.theme && props?.theme[0] == '#') ? `/cssParent/${themePath}` : `/css/${brewThemeRendererPath}${baseThemePath}`;
return (
<>
{/*render dummy page while iFrame is mounting.*/}
@@ -238,7 +235,7 @@ const BrewRenderer = (props)=>{
tabIndex={-1}
style={{ height: state.height }}>
<link href={`/css/${props?.renderer ? props.renderer : 'Legacy'}/Blank`} type='text/css' rel='stylesheet'/>
<link href={`/css/${props?.renderer ? props.renderer : 'V3'}/Blank`} type='text/css' rel='stylesheet'/>
{baseThemePath &&
<link href={staticOrUserParent} type='text/css' rel='stylesheet'/>
}

View File

@@ -213,8 +213,7 @@ const MetadataEditor = createClass({
});
};
const currentThemePath = this.props.metadata?.theme && this.props.metadata.theme[0] === '#' ? 'Brew' : this.props.metadata.renderer;
// const currentTheme = mergedThemes[`${_.upperFirst(currentThemePath)}`][this.props.metadata.theme];
const currentThemePath = this.props.metadata?.theme && Themes[_.upperFirst(this.props.metadata.renderer)].hasOwnProperty(this.props.metadata?.theme) ? this.props.metadata.renderer : 'Brew';
const currentTheme = mergedThemes[`${_.upperFirst(currentThemePath)}`].hasOwnProperty(this.props.metadata.theme) ? mergedThemes[`${_.upperFirst(currentThemePath)}`][this.props.metadata.theme] : { name: `!!! THEME MISSING !!! ID=${this.props.metadata.theme.slice(1)}`};
let dropdown;

View File

@@ -84,7 +84,7 @@ const Snippetbar = createClass({
compileSnippets : function(rendererPath, themePath, snippets) {
let compiledSnippets = snippets;
const baseSnippetsPath = themePath && (themePath[0] === '#') ? false : Themes[rendererPath][themePath].baseSnippets;
const baseSnippetsPath = themePath && (Themes[rendererPath].hasOwnProperty(themePath)) ? Themes[rendererPath][themePath].baseSnippets : false;
const objB = _.keyBy(compiledSnippets, 'groupName');