Add favorite-button.
This commit is contained in:
parent
b96b5eb327
commit
8630f91a13
7 changed files with 85 additions and 11 deletions
22
src/components/favorite_button/favorite_button.js
Normal file
22
src/components/favorite_button/favorite_button.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
const FavoriteButton = {
|
||||
props: [ 'status' ],
|
||||
methods: {
|
||||
favorite () {
|
||||
if (!this.status.favorited) {
|
||||
this.$store.dispatch('favorite', { id: this.status.id})
|
||||
} else {
|
||||
this.$store.dispatch('unfavorite', { id: this.status.id})
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
classes () {
|
||||
return {
|
||||
'icon-star-empty': !this.status.favorited,
|
||||
'icon-star': this.status.favorited
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default FavoriteButton
|
14
src/components/favorite_button/favorite_button.vue
Normal file
14
src/components/favorite_button/favorite_button.vue
Normal file
|
@ -0,0 +1,14 @@
|
|||
<template>
|
||||
<div>
|
||||
<i :class='classes' class='favorite-button fa' v-on:click.prevent='favorite()'></i>
|
||||
<span v-if='status.fave_num > 0'>{{status.fave_num}}</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="./favorite_button.js" ></script>
|
||||
|
||||
<style>
|
||||
.favorite-button {
|
||||
cursor: pointer
|
||||
}
|
||||
</style>
|
Loading…
Add table
Add a link
Reference in a new issue