From b23bd076c320b84d47bf062c5b969236eb77479a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 8 Apr 2018 02:39:39 +0300 Subject: raddi customization UI --- src/components/style_switcher/style_switcher.js | 40 +++++++++++---- src/components/style_switcher/style_switcher.vue | 62 +++++++++++++++++++++++- 2 files changed, 91 insertions(+), 11 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 e6b80ac9..08bc7113 100644 --- a/src/components/style_switcher/style_switcher.js +++ b/src/components/style_switcher/style_switcher.js @@ -9,10 +9,16 @@ export default { btnColorLocal: '', textColorLocal: '', linkColorLocal: '', - redColorLocal: '#ff0000', - blueColorLocal: '#0095ff', - greenColorLocal: '#0fa00f', - orangeColorLocal: '#E3FF00' + redColorLocal: '', + blueColorLocal: '', + greenColorLocal: '', + orangeColorLocal: '', + btnRadiusLocal: '', + panelRadiusLocal: '', + avatarRadiusLocal: '', + avatarAltRadiusLocal: '', + attachmentRadiusLocal: '', + tooltipRadiusLocal: '' } }, created () { @@ -26,20 +32,28 @@ export default { }, mounted () { this.bgColorLocal = rgbstr2hex(this.$store.state.config.colors.bg) - this.btnColorLocal = rgbstr2hex(this.$store.state.config.colors.lightBg) + this.btnColorLocal = rgbstr2hex(this.$store.state.config.colors.btn) this.textColorLocal = rgbstr2hex(this.$store.state.config.colors.fg) this.linkColorLocal = rgbstr2hex(this.$store.state.config.colors.link) - this.redColorLocal = rgbstr2hex(this.$store.state.config.colors.cRed || this.redColorLocal) - this.blueColorLocal = rgbstr2hex(this.$store.state.config.colors.cBlue || this.blueColorLocal) - this.greenColorLocal = rgbstr2hex(this.$store.state.config.colors.cGreen || this.greenColorLocal) - this.orangeColorLocal = rgbstr2hex(this.$store.state.config.colors.cOrange || this.orangeColorLocal) + this.redColorLocal = rgbstr2hex(this.$store.state.config.colors.cRed) + this.blueColorLocal = rgbstr2hex(this.$store.state.config.colors.cBlue) + this.greenColorLocal = rgbstr2hex(this.$store.state.config.colors.cGreen) + this.orangeColorLocal = rgbstr2hex(this.$store.state.config.colors.cOrange) + + this.btnRadiusLocal = this.$store.state.config.radii.btnRadius || 4 + this.panelRadiusLocal = this.$store.state.config.radii.panelRadius || 10 + this.avatarRadiusLocal = this.$store.state.config.radii.avatarRadius || 5 + this.avatarAltRadiusLocal = this.$store.state.config.radii.avatarAltRadius || 50 + this.tooltipRadiusLocal = this.$store.state.config.radii.tooltipRadius || 2 + this.attachmentRadiusLocal = this.$store.state.config.radii.attachmentRadius || 5 }, methods: { setCustomTheme () { if (!this.bgColorLocal && !this.btnColorLocal && !this.linkColorLocal) { // reset to picked themes } + const rgb = (hex) => { const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex) return result ? { @@ -69,7 +83,13 @@ export default { cRed: redRgb, cBlue: blueRgb, cGreen: greenRgb, - cOrange: orangeRgb + cOrange: orangeRgb, + btnRadius: this.btnRadiusLocal, + panelRadius: this.panelRadiusLocal, + avatarRadius: this.avatarRadiusLocal, + avatarAltRadius: this.avatarAltRadiusLocal, + tooltipRadius: this.tooltipRadiusLocal, + attachmentRadius: this.attachmentRadiusLocal }}) } } diff --git a/src/components/style_switcher/style_switcher.vue b/src/components/style_switcher/style_switcher.vue index 2ebf2b90..b096f00e 100644 --- a/src/components/style_switcher/style_switcher.vue +++ b/src/components/style_switcher/style_switcher.vue @@ -51,7 +51,46 @@ -
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+
Preview
@@ -88,6 +127,7 @@ justify-content: space-between; } +.radius-item, .color-item { min-width: 20em; display:flex; @@ -100,13 +140,16 @@ } } +.theme-radius-rn, .theme-color-cl { border: 0; box-shadow: none; background: transparent; + color: var(--faint, $fallback--faint); } .theme-color-cl, +.theme-radius-in, .theme-color-in { margin-left: 4px; } @@ -114,12 +157,29 @@ .theme-color-in { padding: 5px; min-width: 4em; +} + +.theme-radius-in { + min-width: 1em; +} + +.theme-radius-in, +.theme-color-in { max-width: 7em; flex: 1; } + +.theme-radius-lb, .theme-color-lb { flex: 2; min-width: 7em; +} + +.theme-radius-lb{ + max-width: 50em; +} + +.theme-color-lb { max-width: 10em; } -- cgit v1.2.3-70-g09d2