From 098c6af7ef11972b27dafc3ef98a6fd2684695cb Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sat, 12 Oct 2024 01:26:29 +0300 Subject: [PATCH] pass computeColor into shadow control, fix shadow switching types due to invalid shadow color --- src/components/palette_editor/palette_editor.vue | 6 +++--- src/components/settings_modal/tabs/style_tab/style_tab.js | 1 - .../settings_modal/tabs/style_tab/style_tab.vue | 1 + src/components/shadow_control/shadow_control.js | 8 ++++++++ src/components/shadow_control/shadow_control.vue | 2 +- src/services/theme_data/iss_deserializer.js | 6 +++++- src/services/theme_data/iss_serializer.js | 2 +- 7 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/components/palette_editor/palette_editor.vue b/src/components/palette_editor/palette_editor.vue index f4b3410a..502f0ac8 100644 --- a/src/components/palette_editor/palette_editor.vue +++ b/src/components/palette_editor/palette_editor.vue @@ -46,12 +46,12 @@ library.add( const props = defineProps(['modelValue']) const emit = defineEmits(['update:modelValue']) const paletteExporter = newExporter({ - filename: 'pleroma', - extension: 'palette.json', + filename: 'pleroma_palette', + extension: 'json', getExportedObject: () => props.modelValue }) const paletteImporter = newImporter({ - accept: '.palette.json', + accept: '.json', onImport (parsed, filename) { emit('update:modelValue', parsed) } diff --git a/src/components/settings_modal/tabs/style_tab/style_tab.js b/src/components/settings_modal/tabs/style_tab/style_tab.js index 747649f7..b82e7267 100644 --- a/src/components/settings_modal/tabs/style_tab/style_tab.js +++ b/src/components/settings_modal/tabs/style_tab/style_tab.js @@ -620,7 +620,6 @@ export default { } } case 'color': - console.log('COLOR', selectedVirtualDirective.value.value) return selectedVirtualDirective.value.value default: return selectedVirtualDirective.value.value diff --git a/src/components/settings_modal/tabs/style_tab/style_tab.vue b/src/components/settings_modal/tabs/style_tab/style_tab.vue index c0d8248c..4d066337 100644 --- a/src/components/settings_modal/tabs/style_tab/style_tab.vue +++ b/src/components/settings_modal/tabs/style_tab/style_tab.vue @@ -409,6 +409,7 @@ { const regex = new RegExp(regexPrep, 'gis') // global, (stable) indices, single-string const result = regex.exec(string) if (result == null) { - return string + if (string.startsWith('$') || string.startsWith('--')) { + return string + } else { + throw new Error(`Invalid shadow definition: ${string}`) + } } else { const numeric = new Set(['x', 'y', 'blur', 'spread', 'alpha']) const { x, y, blur, spread, alpha, inset, color } = Object.fromEntries(modes.map((mode, i) => { diff --git a/src/services/theme_data/iss_serializer.js b/src/services/theme_data/iss_serializer.js index 83c8483e..e4df416e 100644 --- a/src/services/theme_data/iss_serializer.js +++ b/src/services/theme_data/iss_serializer.js @@ -1,6 +1,6 @@ import { unroll } from './iss_utils.js' -export const serializeShadow = s => { +export const serializeShadow = (s, throwOnInvalid) => { if (typeof s === 'object') { return `${s.inset ? 'inset ' : ''}${s.x} ${s.y} ${s.blur} ${s.spread} ${s.color} / ${s.alpha}` } else {