Newer
Older
Eliot Berriot
committed
<template>
<button @click="$store.dispatch('favorites/toggle', track.id)" v-if="button" :class="['ui', 'pink', {'inverted': isFavorite}, {'favorited': isFavorite}, 'icon', 'labeled', 'button']">
Eliot Berriot
committed
<i class="heart icon"></i>
<translate v-if="isFavorite" :translate-context="'Content/Track/Button.Message'">In favorites</translate>
<translate v-else :translate-context="'Content/Track/Button.Message'">Add to favorites</translate>
Eliot Berriot
committed
</button>
Eliot Berriot
committed
<button
v-else
@click="$store.dispatch('favorites/toggle', track.id)"
:class="['ui', 'favorite-icon', {'pink': isFavorite}, {'favorited': isFavorite}, 'basic', 'circular', 'icon', 'really', 'button']"
:aria-label="title"
:title="title">
<i :class="['heart', {'pink': isFavorite}, 'basic', 'icon']"></i>
</button>
Eliot Berriot
committed
</template>
<script>
export default {
props: {
track: {type: Object},
button: {type: Boolean, default: false}
},
computed: {
title () {
if (this.isFavorite) {
return this.$pgettext('*/Favorites/Icon.Tooltip/Verb', 'Remove from favorites')
Eliot Berriot
committed
} else {
return this.$pgettext('*/Favorites/Icon.Tooltip/Verb', 'Add to favorites')
Eliot Berriot
committed
}
},
isFavorite () {
return this.$store.getters['favorites/isFavorite'](this.track.id)