aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2021-01-24 10:36:03 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2021-01-24 10:36:03 +0000
commiteb2975b64d849af6bdc327dabac34b8e6d952eae (patch)
treeb9a9babc35a213c5e87350dc79f337e280f2b174
parent28ebb8b0ae3bca71a82532297715948a959fbe67 (diff)
parent272ba8f7a926a4852dc01d05f2904cc57da3c8fd (diff)
Merge branch 'fix-p-themes' into 'develop'
Fix p's weird corrupt theme data crashing theme engine See merge request pleroma/pleroma-fe!1334
-rw-r--r--src/services/style_setter/style_setter.js15
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