Skip to content
Snippets Groups Projects
TrackFavoriteIcon.vue 1.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • jovuit's avatar
    jovuit committed
      <button @click="$store.dispatch('favorites/toggle', track.id)" v-if="button" :class="['ui', 'pink', {'inverted': isFavorite}, {'favorited': isFavorite}, 'icon', 'labeled', 'button']">
    
    Jo Vuit's avatar
    Jo Vuit committed
        <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>
    
      <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>
    
    </template>
    
    <script>
    export default {
      props: {
        track: {type: Object},
        button: {type: Boolean, default: false}
      },
      computed: {
        title () {
          if (this.isFavorite) {
    
    Jo Vuit's avatar
    Jo Vuit committed
            return this.$pgettext('*/Favorites/Icon.Tooltip/Verb', 'Remove from favorites')
    
    Jo Vuit's avatar
    Jo Vuit committed
            return this.$pgettext('*/Favorites/Icon.Tooltip/Verb', 'Add to favorites')
    
          return this.$store.getters['favorites/isFavorite'](this.track.id)
    
        }
      }
    
    }
    </script>
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped>
    </style>