From 26b9f787bb01551f991f9e79aa8c0fc59313b95e Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Fri, 23 Nov 2018 10:17:01 +0300 Subject: added "keep opacity" option, fixed opacity loading, fixed missing shadows not affecting the preview (i.e. previewing pleroma-dark when redmond is applied) --- src/components/style_switcher/style_switcher.js | 27 +++++++++++++++++++----- src/components/style_switcher/style_switcher.vue | 7 ++++++ 2 files changed, 29 insertions(+), 5 deletions(-) (limited to 'src/components/style_switcher') diff --git a/src/components/style_switcher/style_switcher.js b/src/components/style_switcher/style_switcher.js index 33be522b..e1a17837 100644 --- a/src/components/style_switcher/style_switcher.js +++ b/src/components/style_switcher/style_switcher.js @@ -28,6 +28,7 @@ export default { invalidThemeImported: false, keepShadows: false, + keepOpacity: false, keepRoundness: false, textColorLocal: '', @@ -386,6 +387,14 @@ export default { }) }, + clearOpacity () { + Object.keys(this.$data) + .filter(_ => _.endsWith('OpacityLocal')) + .forEach(key => { + set(this.$data, key, undefined) + }) + }, + clearShadows () { this.shadowsLocal = {} console.log(this.shadowsLocal) @@ -397,9 +406,10 @@ export default { * @param {Number} version - version of data. 0 means try to guess based on data. */ normalizeLocalState (input, version = 0) { + console.log(input.opacity) const colors = input.colors || input const radii = input.radii || input - const opacity = input.opacity || input + const opacity = input.opacity const shadows = input.shadows || {} if (version === 0) { @@ -451,10 +461,13 @@ export default { this.shadowSelected = this.shadowsAvailable[0] } - Object.entries(opacity).forEach(([k, v]) => { - if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return - this[k + 'OpacityLocal'] = v - }) + if (opacity && !this.keepOpacity) { + this.clearOpacity() + Object.entries(opacity).forEach(([k, v]) => { + if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return + this[k + 'OpacityLocal'] = v + }) + } } }, watch: { @@ -468,6 +481,10 @@ export default { this.clearShadows() } + if (!this.keepOpacity) { + this.clearOpacity() + } + this.clearV1() this.bgColorLocal = this.selected[1] diff --git a/src/components/style_switcher/style_switcher.vue b/src/components/style_switcher/style_switcher.vue index 0c6b811d..ed0dd733 100644 --- a/src/components/style_switcher/style_switcher.vue +++ b/src/components/style_switcher/style_switcher.vue @@ -32,6 +32,13 @@ v-model="keepShadows"> + + + +