summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-07-18 00:47:11 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-07-18 00:47:11 +0900
commitb274c4160e9bd2d2b79fbb054456da4a17d92064 (patch)
treeb7dbb5f71fd45c7c15c813d44e0906623881bbe2 /src
parentImprove doc (diff)
parentMerge pull request #1917 from syuilo/greenkeeper/vue-loader-15.2.5 (diff)
downloadsharkey-b274c4160e9bd2d2b79fbb054456da4a17d92064.tar.gz
sharkey-b274c4160e9bd2d2b79fbb054456da4a17d92064.tar.bz2
sharkey-b274c4160e9bd2d2b79fbb054456da4a17d92064.zip
Merge branch 'master' of https://github.com/syuilo/misskey
Diffstat (limited to 'src')
-rw-r--r--src/client/app/common/views/components/analog-clock.vue21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/client/app/common/views/components/analog-clock.vue b/src/client/app/common/views/components/analog-clock.vue
index 53fb2a8dad..e86a7567bd 100644
--- a/src/client/app/common/views/components/analog-clock.vue
+++ b/src/client/app/common/views/components/analog-clock.vue
@@ -45,7 +45,7 @@ export default Vue.extend({
data() {
return {
now: new Date(),
- clock: null,
+ enabled: true,
graduationsPadding: 0.5,
handsPadding: 1,
@@ -74,6 +74,9 @@ export default Vue.extend({
return themeColor;
},
+ ms(): number {
+ return this.now.getMilliseconds();
+ }
s(): number {
return this.now.getSeconds();
},
@@ -85,13 +88,13 @@ export default Vue.extend({
},
hAngle(): number {
- return Math.PI * (this.h % 12 + this.m / 60) / 6;
+ return Math.PI * (this.h % 12 + (this.m + (this.s + this.ms / 1000) / 60) / 60) / 6;
},
mAngle(): number {
- return Math.PI * (this.m + this.s / 60) / 30;
+ return Math.PI * (this.m + (this.s + this.ms / 1000) / 60) / 30;
},
sAngle(): number {
- return Math.PI * this.s / 30;
+ return Math.PI * (this.s + this.ms / 1000) / 30;
},
graduations(): any {
@@ -106,11 +109,17 @@ export default Vue.extend({
},
mounted() {
- this.clock = setInterval(this.tick, 1000);
+ const update = () => {
+ if (this.enabled) {
+ this.tick();
+ requestAnimationFrame(update);
+ }
+ });
+ update();
},
beforeDestroy() {
- clearInterval(this.clock);
+ this.enabled = false;
},
methods: {