From 2c826e29ea8b9729eb676c0d63e5fc9b9329627c Mon Sep 17 00:00:00 2001 From: valere Date: Tue, 23 Dec 2025 12:55:37 +0100 Subject: [PATCH] compose elt v0.1 --- app/components/Boxes.vue | 4 - app/components/Bucket.vue | 124 +++++++------ app/components/Card.vue | 21 ++- app/components/Newsletter.vue | 11 -- app/components/Platine.vue | 74 ++++++-- .../{DeckCompilation.vue => Compilation.vue} | 0 .../deck/{DeckPlaylist.vue => Playlist.vue} | 44 ++--- app/{pages => components}/draggable.vue | 0 app/layouts/default.vue | 7 +- app/layouts/empty.vue | 5 - app/pages/boxes.vue | 27 +++ app/pages/dev.vue | 169 ------------------ app/pages/index.vue | 27 +-- app/pages/studio.vue | 78 -------- app/store/card.ts | 39 +--- public/card-dock.svg | 1 + 16 files changed, 202 insertions(+), 429 deletions(-) delete mode 100644 app/components/Newsletter.vue rename app/components/deck/{DeckCompilation.vue => Compilation.vue} (100%) rename app/components/deck/{DeckPlaylist.vue => Playlist.vue} (72%) rename app/{pages => components}/draggable.vue (100%) delete mode 100644 app/layouts/empty.vue create mode 100644 app/pages/boxes.vue delete mode 100644 app/pages/dev.vue delete mode 100644 app/pages/studio.vue create mode 100644 public/card-dock.svg diff --git a/app/components/Boxes.vue b/app/components/Boxes.vue index 8603986..8d2ac10 100644 --- a/app/components/Boxes.vue +++ b/app/components/Boxes.vue @@ -11,10 +11,6 @@ - diff --git a/app/components/Bucket.vue b/app/components/Bucket.vue index 9b24ed0..eecb754 100644 --- a/app/components/Bucket.vue +++ b/app/components/Bucket.vue @@ -1,36 +1,49 @@ diff --git a/app/components/Card.vue b/app/components/Card.vue index 7b24b0b..d18b1fd 100644 --- a/app/components/Card.vue +++ b/app/components/Card.vue @@ -71,22 +71,25 @@ import type { Track } from '~~/types/types' import { usePlayerStore } from '~/store/player' import { useDataStore } from '~/store/data'; -const props = withDefaults(defineProps<{ track: Track; isFaceUp?: boolean }>(), { - isFaceUp: false +const props = withDefaults(defineProps<{ + track?: Track; + isFaceUp?: boolean; +}>(), { + track: () => { + const dataStore = useDataStore(); + return dataStore.getRandomPlaylistTrack() || {} as Track; + }, + isFaceUp: true, }) + const playerStore = usePlayerStore() const isManifesto = computed(() => props.track.boxId.startsWith('ES00')) const isOrder = computed(() => props.track.order && !isManifesto) const isPlaylistTrack = computed(() => props.track.type === 'playlist') -const isRedCard = computed(() => props.track.card?.suit === '♥' || props.track.card?.suit === '♦') +const isRedCard = computed(() => (props.track.card?.suit === '♥' || props.track.card?.suit === '♦')) const dataStore = useDataStore() const cardColor = computed(() => dataStore.getYearColor(props.track.year || 0)) -const coverUrl = computed(() => { - if (!props.track.coverId) return '' - return props.track.coverId.startsWith('http') - ? props.track.coverId - : `https://f4.bcbits.com/img/${props.track.coverId}_4.jpg` -}) +const coverUrl = computed(() => props.track.coverId || '/card-dock.svg') const dragStart = (event: DragEvent) => { if (event.dataTransfer) { diff --git a/app/components/Newsletter.vue b/app/components/Newsletter.vue deleted file mode 100644 index 711b259..0000000 --- a/app/components/Newsletter.vue +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/app/components/Platine.vue b/app/components/Platine.vue index 7d88564..4208c56 100644 --- a/app/components/Platine.vue +++ b/app/components/Platine.vue @@ -1,6 +1,7 @@