From 1b8b9986225d83b8bb7b0235a39f83128a6f60b1 Mon Sep 17 00:00:00 2001 From: valere Date: Sat, 15 Nov 2025 21:56:37 +0100 Subject: [PATCH] FEAT: side A/B --- .vscode/settings.json | 3 +- app/components/Box.vue | 42 +++-- app/components/Boxes.vue | 51 +++-- app/components/Card.vue | 2 +- app/components/Player.vue | 1 - app/components/SearchModal.vue | 86 ++------- app/components/ToggleFavorite.vue | 41 ---- app/components/deck/DeckCompilation.vue | 16 +- app/layouts/default.vue | 25 +-- app/pages/defaultDev.vue | 45 ----- app/pages/dev.vue | 35 +--- app/pages/draggable.vue | 20 +- app/pages/track/[id].vue | 3 +- app/plugins/favorites.client.ts | 6 - app/store/data.ts | 51 ++--- app/store/favorites.ts | 144 -------------- app/store/player.ts | 36 +--- app/store/ui.ts | 3 +- eslint.config.mjs | 25 ++- public/{ES00A => ES00/A}/bkg.jpg | Bin public/{ES00A => ES00/A}/cover.jpg | Bin public/{ES00A => ES00/A}/name.png | Bin public/{ES00A => ES00/A}/object.png | Bin public/ES00/A/title.svg | 48 +++++ public/{ES00B => ES00/B}/bkg.jpg | Bin public/{ES00B => ES00/B}/cover.jpg | Bin public/{ES00B => ES00/B}/name.png | Bin public/{ES00B => ES00/B}/object.png | Bin public/ES00/B/title.svg | 48 +++++ public/ES00A/title.svg | 55 ------ public/ES00B/title.svg | 55 ------ public/{ES01A => ES01/A}/bkg.jpg | Bin public/{ES01A => ES01/A}/cover.jpg | Bin public/{ES01A => ES01/A}/name.png | Bin public/{ES01A => ES01/A}/object.png | Bin public/{ES01A => ES01/A}/title.svg | 9 +- public/{ES01B => ES01/B}/B.jpg | Bin public/{ES01B => ES01/B}/bkg.jpg | Bin public/{ES01B => ES01/B}/cover.jpg | Bin public/{ES01B => ES01/B}/name.png | Bin public/{ES01B => ES01/B}/name.svg | 0 public/{ES01B => ES01/B}/object.png | Bin public/{ES01B => ES01/B}/title.svg | 9 +- public/loader.svg | 2 +- public/logo.svg | 121 +++++++++++- server/api/boxes.ts | 241 +++++++----------------- server/api/tracks/compilation.ts | 134 ++++++++----- server/api/tracks/playlist.ts | 3 +- types/types.ts | 25 ++- 49 files changed, 563 insertions(+), 822 deletions(-) delete mode 100644 app/components/ToggleFavorite.vue delete mode 100644 app/pages/defaultDev.vue delete mode 100644 app/plugins/favorites.client.ts delete mode 100644 app/store/favorites.ts rename public/{ES00A => ES00/A}/bkg.jpg (100%) rename public/{ES00A => ES00/A}/cover.jpg (100%) rename public/{ES00A => ES00/A}/name.png (100%) rename public/{ES00A => ES00/A}/object.png (100%) create mode 100644 public/ES00/A/title.svg rename public/{ES00B => ES00/B}/bkg.jpg (100%) rename public/{ES00B => ES00/B}/cover.jpg (100%) rename public/{ES00B => ES00/B}/name.png (100%) rename public/{ES00B => ES00/B}/object.png (100%) create mode 100644 public/ES00/B/title.svg delete mode 100644 public/ES00A/title.svg delete mode 100644 public/ES00B/title.svg rename public/{ES01A => ES01/A}/bkg.jpg (100%) rename public/{ES01A => ES01/A}/cover.jpg (100%) rename public/{ES01A => ES01/A}/name.png (100%) rename public/{ES01A => ES01/A}/object.png (100%) rename public/{ES01A => ES01/A}/title.svg (97%) rename public/{ES01B => ES01/B}/B.jpg (100%) rename public/{ES01B => ES01/B}/bkg.jpg (100%) rename public/{ES01B => ES01/B}/cover.jpg (100%) rename public/{ES01B => ES01/B}/name.png (100%) rename public/{ES01B => ES01/B}/name.svg (100%) rename public/{ES01B => ES01/B}/object.png (100%) rename public/{ES01B => ES01/B}/title.svg (97%) diff --git a/.vscode/settings.json b/.vscode/settings.json index ee9373a..76501ab 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,6 @@ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, - "eslint.useFlatConfig": true + "eslint.useFlatConfig": true, + "svg.preview.background": "editor" } diff --git a/app/components/Box.vue b/app/components/Box.vue index 7cf24ff..fbc7354 100644 --- a/app/components/Box.vue +++ b/app/components/Box.vue @@ -2,13 +2,15 @@
- -
+ +
-
+
  • - {{ track.order }}. + v-for="track in dataStore.getTracksByboxId(box.id, box.activeSide)" :key="track.id" :track="track"> + {{ track.order }}.

    {{ track.title }} @@ -21,14 +23,13 @@

    - - diff --git a/app/components/deck/DeckCompilation.vue b/app/components/deck/DeckCompilation.vue index 66774ab..ae0e425 100644 --- a/app/components/deck/DeckCompilation.vue +++ b/app/components/deck/DeckCompilation.vue @@ -9,13 +9,20 @@ + +
  • diff --git a/app/pages/dev.vue b/app/pages/dev.vue index 39d042f..09278fb 100644 --- a/app/pages/dev.vue +++ b/app/pages/dev.vue @@ -2,41 +2,20 @@
    - + }" :is-face-up="track.isFaceUp" @mousedown="startDrag($event, track)" @click="flipCard(track)" />
    @@ -59,7 +38,7 @@ definePageMeta({ layout: 'default' }) onMounted(async () => { await dataStore.loadData() - tracks.value = dataStore.getTracksByboxId('ES2025').map((t, i) => ({ + tracks.value = dataStore.getTracksByboxId('ESPLAYLIST').map((t, i) => ({ ...t, x: t.x ?? 50 + i * 20, y: t.y ?? 50 + i * 20, diff --git a/app/pages/draggable.vue b/app/pages/draggable.vue index ea1658c..22fb6fe 100644 --- a/app/pages/draggable.vue +++ b/app/pages/draggable.vue @@ -1,21 +1,9 @@ -