Files
evilspins/app/components/deck.vue
valere 2135b0fec6
All checks were successful
Deploy App / build (push) Successful in 1m53s
Deploy App / deploy (push) Successful in 19s
add coverid
2025-10-10 01:41:22 +02:00

52 lines
1.2 KiB
Vue

<template>
<div>
<div class="z-50 tools fixed top-0 -left-0 hidden">
<button @click="setDisplay('pile')">pile</button>
<button @click="setDisplay('plateau')">plateau</button>
<button @click="setDisplay('holdem')">holdem</button>
</div>
<div ref="deck" class="deck flex flex-wrap justify-center gap-4">
<card v-for="track in tracks" :key="track.id" :track="track" />
</div>
</div>
</template>
<script setup lang="ts">
import { useDataStore } from '~/store/data'
import type { Compilation } from '~~/types/types'
const props = defineProps<{
compilation: Compilation
}>()
const dataStore = useDataStore()
const deck = ref()
const tracks = props.compilation.duration ? dataStore.getTracksByCompilationId(props.compilation.id) : dataStore.getPlaylistTracksByCompilationId(props.compilation.id)
function setDisplay(displayMode) {
deck.value.classList.remove('pile', 'plateau', 'holdem')
deck.value.classList.add(displayMode)
}
</script>
<style lang="scss">
.deck {
@apply transition-all;
&.pile {
@apply relative;
.card {
@apply absolute top-0;
}
}
&.plateau {
@apply mt-8 p-8 w-full flex flex-wrap justify-around;
}
&.holdem {
/* style holdem */
}
}
</style>