テーマの切り替え時に時計の色が変わるように (#5959)

* テーマの切り替え時に時計の色が変わるように

* ディレイを追加
This commit is contained in:
fuyu 2020-02-16 20:20:02 +09:00 committed by GitHub
parent 420eeb4d68
commit 714bcf28d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 5 deletions

View File

@ -55,15 +55,17 @@ export default Vue.extend({
handsTailLength: 0.7, handsTailLength: 0.7,
hHandLengthRatio: 0.75, hHandLengthRatio: 0.75,
mHandLengthRatio: 1, mHandLengthRatio: 1,
sHandLengthRatio: 1 sHandLengthRatio: 1,
computedStyle: getComputedStyle(document.documentElement)
}; };
}, },
computed: { computed: {
dark(): boolean { dark(): boolean {
return tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--bg')).isDark(); return tinycolor(this.computedStyle.getPropertyValue('--bg')).isDark();
}, },
majorGraduationColor(): string { majorGraduationColor(): string {
return this.dark ? 'rgba(255, 255, 255, 0.3)' : 'rgba(0, 0, 0, 0.3)'; return this.dark ? 'rgba(255, 255, 255, 0.3)' : 'rgba(0, 0, 0, 0.3)';
}, },
@ -75,10 +77,10 @@ export default Vue.extend({
return this.dark ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.3)'; return this.dark ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.3)';
}, },
mHandColor(): string { mHandColor(): string {
return tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--fg')).toHexString(); return tinycolor(this.computedStyle.getPropertyValue('--fg')).toHexString();
}, },
hHandColor(): string { hHandColor(): string {
return tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--accent')).toHexString(); return tinycolor(this.computedStyle.getPropertyValue('--accent')).toHexString();
}, },
ms(): number { ms(): number {
@ -123,6 +125,16 @@ export default Vue.extend({
} }
}; };
update(); update();
this.$store.subscribe((mutation, state) => {
if (mutation.type !== 'device/set') return;
if (mutation?.payload?.key !== 'theme') return;
setTimeout(() => {
this.computedStyle = getComputedStyle(document.documentElement);
}, 250);
});
}, },
beforeDestroy() { beforeDestroy() {