You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
Vue
61 lines
1.6 KiB
Vue
<script setup lang="ts">
|
|
import { defineProps } from "vue";
|
|
import TrackProgressBar from "@/components/TrackProgressBar.vue";
|
|
|
|
defineProps({
|
|
currentlyPlaying: Object
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<div class="currentlyPlaying card">
|
|
<div class="card-header">
|
|
<b>{{ currentlyPlaying?.item.name }}</b>
|
|
<div>
|
|
{{ currentlyPlaying?.item.artists.map(artist => artist.name).join(", ") }}
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row justify-content-center">
|
|
<div class="col coverGroup">
|
|
<img :src="currentlyPlaying.item.album.images[0].url" alt="album cover" class="card-img">
|
|
<TrackProgressBar
|
|
:duration="currentlyPlaying?.item.duration"
|
|
:progress="currentlyPlaying.progress"
|
|
:isPlaying="currentlyPlaying.isPlaying"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer">
|
|
<div class="">
|
|
<a
|
|
:href="currentlyPlaying?.item.externalURL.spotify"
|
|
target="_blank"
|
|
rel="noopener norefferrer"
|
|
class="btn btn-outline-dark m-1"
|
|
>
|
|
view track on Spotify
|
|
</a>
|
|
<a
|
|
v-if="currentlyPlaying?.context"
|
|
:href="currentlyPlaying?.context.externalURL.spotify"
|
|
target="_blank"
|
|
rel="noopener norefferrer"
|
|
class="btn btn-outline-dark m-1"
|
|
>
|
|
view {{ currentlyPlaying?.context.type }} on Spotify
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped lang="scss">
|
|
.currentlyPlaying {
|
|
.coverGroup {
|
|
max-width: 20rem;
|
|
}
|
|
}
|
|
</style>
|