From 43b1a11027e018fa41603191a4019bd8b971e017 Mon Sep 17 00:00:00 2001 From: valere Date: Thu, 2 Oct 2025 00:38:54 +0200 Subject: [PATCH] add cards & tracks --- app/components/molecule/box.vue | 14 +- app/components/molecule/card.vue | 28 +- app/components/molecule/player.vue | 38 +++ app/components/organism/compilationList.vue | 3 - app/components/organism/compilationPage.vue | 3 +- app/pages/index.vue | 1 + app/pages/studio.vue | 4 +- app/store/player.ts | 57 ++++ server/api/artists.ts | 82 +++++- server/api/tracks.ts | 286 ++++++++++++++++++-- types/types.ts | 1 + 11 files changed, 474 insertions(+), 43 deletions(-) create mode 100644 app/components/molecule/player.vue create mode 100644 app/store/player.ts diff --git a/app/components/molecule/box.vue b/app/components/molecule/box.vue index b0800d5..c4cd126 100644 --- a/app/components/molecule/box.vue +++ b/app/components/molecule/box.vue @@ -130,7 +130,7 @@ onMounted(() => { const down = (ev: PointerEvent) => { ev.preventDefault() dragging = true - scene.value?.setPointerCapture(ev.pointerId) + box.value?.setPointerCapture(ev.pointerId) lastPointer = { x: ev.clientX, y: ev.clientY, time: performance.now() } velocity = { x: 0, y: 0 } if (raf) { cancelAnimationFrame(raf); raf = null } @@ -158,17 +158,17 @@ onMounted(() => { const end = (ev: PointerEvent) => { if (!dragging) return dragging = false - try { scene.value?.releasePointerCapture(ev.pointerId) } catch { } + try { box.value?.releasePointerCapture(ev.pointerId) } catch { } if (enableInertia && (Math.abs(velocity.x) > minVelocity || Math.abs(velocity.y) > minVelocity)) { if (!raf) raf = requestAnimationFrame(tickInertia) } } - scene.value?.addEventListener('pointerdown', down) - scene.value?.addEventListener('pointermove', move) - scene.value?.addEventListener('pointerup', end) - scene.value?.addEventListener('pointercancel', end) - scene.value?.addEventListener('pointerleave', end) + box.value?.addEventListener('pointerdown', down) + box.value?.addEventListener('pointermove', move) + box.value?.addEventListener('pointerup', end) + box.value?.addEventListener('pointercancel', end) + box.value?.addEventListener('pointerleave', end) onBeforeUnmount(() => { cancelAnimationFrame(raf!) diff --git a/app/components/molecule/card.vue b/app/components/molecule/card.vue index 2713990..6ff059e 100644 --- a/app/components/molecule/card.vue +++ b/app/components/molecule/card.vue @@ -1,14 +1,17 @@ diff --git a/app/pages/studio.vue b/app/pages/studio.vue index 805db7d..2e4a1ef 100644 --- a/app/pages/studio.vue +++ b/app/pages/studio.vue @@ -1,9 +1,9 @@