aboutsummaryrefslogtreecommitdiff
path: root/src/components/favorite_button
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/favorite_button')
-rw-r--r--src/components/favorite_button/favorite_button.js14
-rw-r--r--src/components/favorite_button/favorite_button.vue4
2 files changed, 15 insertions, 3 deletions
diff --git a/src/components/favorite_button/favorite_button.js b/src/components/favorite_button/favorite_button.js
index 4ee3890f..466e9b84 100644
--- a/src/components/favorite_button/favorite_button.js
+++ b/src/components/favorite_button/favorite_button.js
@@ -1,5 +1,10 @@
const FavoriteButton = {
- props: [ 'status' ],
+ props: ['status'],
+ data () {
+ return {
+ animated: false
+ }
+ },
methods: {
favorite () {
if (!this.status.favorited) {
@@ -7,13 +12,18 @@ const FavoriteButton = {
} else {
this.$store.dispatch('unfavorite', {id: this.status.id})
}
+ this.animated = true
+ setTimeout(() => {
+ this.animated = false
+ }, 500)
}
},
computed: {
classes () {
return {
'icon-star-empty': !this.status.favorited,
- 'icon-star': this.status.favorited
+ 'icon-star': this.status.favorited,
+ 'animate-spin': this.animated
}
}
}
diff --git a/src/components/favorite_button/favorite_button.vue b/src/components/favorite_button/favorite_button.vue
index fd53b505..0abece31 100644
--- a/src/components/favorite_button/favorite_button.vue
+++ b/src/components/favorite_button/favorite_button.vue
@@ -1,6 +1,6 @@
<template>
<div>
- <i :class='classes' class='favorite-button fa' v-on:click.prevent='favorite()'></i>
+ <i :class='classes' class='favorite-button fa' @click.prevent='favorite()'/>
<span v-if='status.fave_num > 0'>{{status.fave_num}}</span>
</div>
</template>
@@ -10,6 +10,7 @@
<style lang='scss'>
.favorite-button {
cursor: pointer;
+ animation-duration: 0.6s;
&:hover {
color: orange;
}
@@ -17,4 +18,5 @@
.icon-star {
color: orange;
}
+
</style>