2023-06-08 05:29:29 +02:00
|
|
|
<template>
|
2023-06-28 21:11:08 +02:00
|
|
|
<div class="inline-flex p-1 min-w-[25px]">
|
|
|
|
|
<div v-show="visible" class="bg-black rounded-full text-xs inline-flex" >
|
2023-06-10 01:24:44 +02:00
|
|
|
|
2023-06-29 02:11:34 +02:00
|
|
|
<NuxtLink @click.native="audioPlayerStore.setSoundCloudTrackID(work.soundcloud_trackid)" v-if="type === 'score'" class="inline-flex p-1" :to="link">
|
|
|
|
|
<Icon name="ion:book-sharp" color="white" />
|
|
|
|
|
</NuxtLink>
|
|
|
|
|
|
|
|
|
|
<NuxtLink v-else-if="type === 'document'" class="inline-flex p-1" :to="link">
|
2023-06-14 14:26:16 +02:00
|
|
|
<Icon name="ion:book-sharp" color="white" />
|
2023-06-12 18:00:37 +02:00
|
|
|
</NuxtLink>
|
|
|
|
|
|
2023-06-14 14:26:16 +02:00
|
|
|
<NuxtLink v-else-if="type === 'buy'" class="inline-flex p-1" :to="link">
|
|
|
|
|
<Icon name="bxs:purchase-tag" color="white" />
|
|
|
|
|
</NuxtLink>
|
|
|
|
|
|
2023-06-23 18:38:36 +02:00
|
|
|
<NuxtLink v-else-if="type === 'email'" class="inline-flex p-1" :to="link">
|
|
|
|
|
<Icon name="ic:baseline-email" color="white" />
|
|
|
|
|
</NuxtLink>
|
|
|
|
|
|
2023-06-14 14:26:16 +02:00
|
|
|
<NuxtLink v-else-if="type === 'discogs'" class="inline-flex p-1" :to="link">
|
|
|
|
|
<Icon name="simple-icons:discogs" color="white" />
|
2023-06-08 19:39:45 +02:00
|
|
|
</NuxtLink>
|
2023-06-10 01:24:44 +02:00
|
|
|
|
2023-06-08 19:39:45 +02:00
|
|
|
<button @click="audioPlayerStore.setSoundCloudTrackID(work.soundcloud_trackid)" v-else-if="type === 'audio'" class="inline-flex p-1">
|
|
|
|
|
<Icon name="wpf:speaker" color="white" />
|
|
|
|
|
</button>
|
2023-06-10 01:24:44 +02:00
|
|
|
|
2023-06-12 18:00:37 +02:00
|
|
|
<button @click="modalStore.setModalProps('video', 'aspect-video', true, '', '', work.vimeo_trackid)" v-else-if="type === 'video'" class="inline-flex p-1">
|
2023-06-08 19:39:45 +02:00
|
|
|
<Icon name="fluent:video-48-filled" color="white" />
|
|
|
|
|
</button>
|
2023-06-10 01:24:44 +02:00
|
|
|
|
2023-06-14 19:35:23 +02:00
|
|
|
<button @click="modalStore.setModalProps('image', 'aspect-auto', true, 'images', work.gallery, '')" v-else="type === 'image'" class="inline-flex p-1">
|
2023-06-08 19:39:45 +02:00
|
|
|
<Icon name="mdi:camera" color="white" />
|
|
|
|
|
</button>
|
2023-06-10 01:24:44 +02:00
|
|
|
|
2023-06-08 19:39:45 +02:00
|
|
|
</div>
|
2023-06-08 05:29:29 +02:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
2023-06-08 19:39:45 +02:00
|
|
|
<script setup>
|
|
|
|
|
import { useAudioPlayerStore } from "@/stores/AudioPlayerStore"
|
2023-06-12 18:00:37 +02:00
|
|
|
import { useModalStore } from "@/stores/ModalStore"
|
|
|
|
|
|
2023-06-08 19:39:45 +02:00
|
|
|
const audioPlayerStore = useAudioPlayerStore()
|
2023-06-12 18:00:37 +02:00
|
|
|
const modalStore = useModalStore()
|
2023-06-10 01:24:44 +02:00
|
|
|
|
2023-06-08 19:39:45 +02:00
|
|
|
</script>
|
|
|
|
|
|
2023-06-08 05:29:29 +02:00
|
|
|
<script>
|
2023-06-08 19:39:45 +02:00
|
|
|
export default {
|
2023-06-14 14:26:16 +02:00
|
|
|
props: ['type', 'work', 'visible', 'link']
|
2023-06-08 19:39:45 +02:00
|
|
|
}
|
2023-06-08 05:29:29 +02:00
|
|
|
</script>
|