favorite_button.js (997B)
- import { mapGetters } from 'vuex'
- import { library } from '@fortawesome/fontawesome-svg-core'
- import {
- faStar,
- faPlus,
- faMinus,
- faCheck
- } from '@fortawesome/free-solid-svg-icons'
- import {
- faStar as faStarRegular
- } from '@fortawesome/free-regular-svg-icons'
- library.add(
- faStar,
- faStarRegular,
- faPlus,
- faMinus,
- faCheck
- )
- const FavoriteButton = {
- props: ['status', 'loggedIn'],
- data () {
- return {
- animated: false
- }
- },
- methods: {
- favorite () {
- if (!this.status.favorited) {
- this.$store.dispatch('favorite', { id: this.status.id })
- } else {
- this.$store.dispatch('unfavorite', { id: this.status.id })
- }
- this.animated = true
- setTimeout(() => {
- this.animated = false
- }, 500)
- }
- },
- computed: {
- ...mapGetters(['mergedConfig']),
- remoteInteractionLink () {
- return this.$store.getters.remoteInteractionLink({ statusId: this.status.id })
- }
- }
- }
- export default FavoriteButton