diff options
| author | Henry Jameson <me@hjkos.com> | 2021-01-23 13:58:40 +0200 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2021-01-23 13:58:40 +0200 |
| commit | 272ba8f7a926a4852dc01d05f2904cc57da3c8fd (patch) | |
| tree | b9a9babc35a213c5e87350dc79f337e280f2b174 | |
| parent | 28ebb8b0ae3bca71a82532297715948a959fbe67 (diff) | |
Fix p's weird corrupt theme data crashing theme engine
| -rw-r--r-- | src/services/style_setter/style_setter.js | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js index 07425abd..0fb8f92a 100644 --- a/src/services/style_setter/style_setter.js +++ b/src/services/style_setter/style_setter.js @@ -242,9 +242,18 @@ export const generateShadows = (input, colors) => { panelHeader: 'panel', input: 'input' } - const inputShadows = input.shadows && !input.themeEngineVersion - ? shadows2to3(input.shadows, input.opacity) - : input.shadows || {} + + const cleanInputShadows = Object.fromEntries( + Object.entries(input.shadows) + .map(([name, shadowSlot]) => [ + name, + // defaulting color to black to avoid potential problems + shadowSlot.map(shadowDef => ({ color: '#000000', ...shadowDef })) + ]) + ) + const inputShadows = cleanInputShadows && !input.themeEngineVersion + ? shadows2to3(cleanInputShadows, input.opacity) + : cleanInputShadows || {} const shadows = Object.entries({ ...DEFAULT_SHADOWS, ...inputShadows |
