diff --git a/.gitea/workflows/on-push.yml b/.gitea/workflows/on-push.yml index d120f43..61f6adb 100644 --- a/.gitea/workflows/on-push.yml +++ b/.gitea/workflows/on-push.yml @@ -26,4 +26,5 @@ jobs: - name: Build production bundle run: | cd /root/repos/music-jeopardy + npm run generate:data npm run build diff --git a/package.json b/package.json index 50d2ff1..5aa7ccd 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", + "generate:data": "node scripts/generate-data-manifest.mjs", "preview": "vite preview" }, "dependencies": { diff --git a/src/Data/.gitkeep b/public/Data/.gitkeep similarity index 100% rename from src/Data/.gitkeep rename to public/Data/.gitkeep diff --git a/src/Data/HCO/Animals in Songs/answers/1.mp3 b/public/Data/HCO/Animals in Songs/answers/1.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/answers/1.mp3 rename to public/Data/HCO/Animals in Songs/answers/1.mp3 diff --git a/src/Data/HCO/Animals in Songs/answers/2.mp3 b/public/Data/HCO/Animals in Songs/answers/2.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/answers/2.mp3 rename to public/Data/HCO/Animals in Songs/answers/2.mp3 diff --git a/src/Data/HCO/Animals in Songs/answers/3.mp3 b/public/Data/HCO/Animals in Songs/answers/3.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/answers/3.mp3 rename to public/Data/HCO/Animals in Songs/answers/3.mp3 diff --git a/src/Data/HCO/Animals in Songs/answers/4.mp3 b/public/Data/HCO/Animals in Songs/answers/4.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/answers/4.mp3 rename to public/Data/HCO/Animals in Songs/answers/4.mp3 diff --git a/src/Data/HCO/Animals in Songs/answers/5.mp3 b/public/Data/HCO/Animals in Songs/answers/5.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/answers/5.mp3 rename to public/Data/HCO/Animals in Songs/answers/5.mp3 diff --git a/src/Data/HCO/Animals in Songs/songs/1.mp3 b/public/Data/HCO/Animals in Songs/songs/1.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/songs/1.mp3 rename to public/Data/HCO/Animals in Songs/songs/1.mp3 diff --git a/src/Data/HCO/Animals in Songs/songs/2.mp3 b/public/Data/HCO/Animals in Songs/songs/2.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/songs/2.mp3 rename to public/Data/HCO/Animals in Songs/songs/2.mp3 diff --git a/src/Data/HCO/Animals in Songs/songs/3.mp3 b/public/Data/HCO/Animals in Songs/songs/3.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/songs/3.mp3 rename to public/Data/HCO/Animals in Songs/songs/3.mp3 diff --git a/src/Data/HCO/Animals in Songs/songs/4.mp3 b/public/Data/HCO/Animals in Songs/songs/4.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/songs/4.mp3 rename to public/Data/HCO/Animals in Songs/songs/4.mp3 diff --git a/src/Data/HCO/Animals in Songs/songs/5.mp3 b/public/Data/HCO/Animals in Songs/songs/5.mp3 similarity index 100% rename from src/Data/HCO/Animals in Songs/songs/5.mp3 rename to public/Data/HCO/Animals in Songs/songs/5.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/answers/1.mp3 b/public/Data/HCO/Billboard Number 1's/answers/1.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/answers/1.mp3 rename to public/Data/HCO/Billboard Number 1's/answers/1.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/answers/2.mp3 b/public/Data/HCO/Billboard Number 1's/answers/2.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/answers/2.mp3 rename to public/Data/HCO/Billboard Number 1's/answers/2.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/answers/3.mp3 b/public/Data/HCO/Billboard Number 1's/answers/3.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/answers/3.mp3 rename to public/Data/HCO/Billboard Number 1's/answers/3.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/answers/4.mp3 b/public/Data/HCO/Billboard Number 1's/answers/4.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/answers/4.mp3 rename to public/Data/HCO/Billboard Number 1's/answers/4.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/answers/5.mp3 b/public/Data/HCO/Billboard Number 1's/answers/5.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/answers/5.mp3 rename to public/Data/HCO/Billboard Number 1's/answers/5.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/songs/1.mp3 b/public/Data/HCO/Billboard Number 1's/songs/1.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/songs/1.mp3 rename to public/Data/HCO/Billboard Number 1's/songs/1.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/songs/2.mp3 b/public/Data/HCO/Billboard Number 1's/songs/2.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/songs/2.mp3 rename to public/Data/HCO/Billboard Number 1's/songs/2.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/songs/3.mp3 b/public/Data/HCO/Billboard Number 1's/songs/3.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/songs/3.mp3 rename to public/Data/HCO/Billboard Number 1's/songs/3.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/songs/4.mp3 b/public/Data/HCO/Billboard Number 1's/songs/4.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/songs/4.mp3 rename to public/Data/HCO/Billboard Number 1's/songs/4.mp3 diff --git a/src/Data/HCO/Billboard Number 1's/songs/5.mp3 b/public/Data/HCO/Billboard Number 1's/songs/5.mp3 similarity index 100% rename from src/Data/HCO/Billboard Number 1's/songs/5.mp3 rename to public/Data/HCO/Billboard Number 1's/songs/5.mp3 diff --git a/src/Data/HCO/Kitchen Classics/answers/1.mp3 b/public/Data/HCO/Kitchen Classics/answers/1.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/answers/1.mp3 rename to public/Data/HCO/Kitchen Classics/answers/1.mp3 diff --git a/src/Data/HCO/Kitchen Classics/answers/2.mp3 b/public/Data/HCO/Kitchen Classics/answers/2.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/answers/2.mp3 rename to public/Data/HCO/Kitchen Classics/answers/2.mp3 diff --git a/src/Data/HCO/Kitchen Classics/answers/3.mp3 b/public/Data/HCO/Kitchen Classics/answers/3.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/answers/3.mp3 rename to public/Data/HCO/Kitchen Classics/answers/3.mp3 diff --git a/src/Data/HCO/Kitchen Classics/answers/4.mp3 b/public/Data/HCO/Kitchen Classics/answers/4.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/answers/4.mp3 rename to public/Data/HCO/Kitchen Classics/answers/4.mp3 diff --git a/src/Data/HCO/Kitchen Classics/answers/5.mp3 b/public/Data/HCO/Kitchen Classics/answers/5.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/answers/5.mp3 rename to public/Data/HCO/Kitchen Classics/answers/5.mp3 diff --git a/src/Data/HCO/Kitchen Classics/songs/1.mp3 b/public/Data/HCO/Kitchen Classics/songs/1.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/songs/1.mp3 rename to public/Data/HCO/Kitchen Classics/songs/1.mp3 diff --git a/src/Data/HCO/Kitchen Classics/songs/2.mp3 b/public/Data/HCO/Kitchen Classics/songs/2.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/songs/2.mp3 rename to public/Data/HCO/Kitchen Classics/songs/2.mp3 diff --git a/src/Data/HCO/Kitchen Classics/songs/3.mp3 b/public/Data/HCO/Kitchen Classics/songs/3.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/songs/3.mp3 rename to public/Data/HCO/Kitchen Classics/songs/3.mp3 diff --git a/src/Data/HCO/Kitchen Classics/songs/4.mp3 b/public/Data/HCO/Kitchen Classics/songs/4.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/songs/4.mp3 rename to public/Data/HCO/Kitchen Classics/songs/4.mp3 diff --git a/src/Data/HCO/Kitchen Classics/songs/5.mp3 b/public/Data/HCO/Kitchen Classics/songs/5.mp3 similarity index 100% rename from src/Data/HCO/Kitchen Classics/songs/5.mp3 rename to public/Data/HCO/Kitchen Classics/songs/5.mp3 diff --git a/src/Data/HCO/Memes/answers/1.mp3 b/public/Data/HCO/Memes/answers/1.mp3 similarity index 100% rename from src/Data/HCO/Memes/answers/1.mp3 rename to public/Data/HCO/Memes/answers/1.mp3 diff --git a/src/Data/HCO/Memes/answers/2.mp3 b/public/Data/HCO/Memes/answers/2.mp3 similarity index 100% rename from src/Data/HCO/Memes/answers/2.mp3 rename to public/Data/HCO/Memes/answers/2.mp3 diff --git a/src/Data/HCO/Memes/answers/3.mp3 b/public/Data/HCO/Memes/answers/3.mp3 similarity index 100% rename from src/Data/HCO/Memes/answers/3.mp3 rename to public/Data/HCO/Memes/answers/3.mp3 diff --git a/src/Data/HCO/Memes/answers/4.mp3 b/public/Data/HCO/Memes/answers/4.mp3 similarity index 100% rename from src/Data/HCO/Memes/answers/4.mp3 rename to public/Data/HCO/Memes/answers/4.mp3 diff --git a/src/Data/HCO/Memes/answers/5.mp3 b/public/Data/HCO/Memes/answers/5.mp3 similarity index 100% rename from src/Data/HCO/Memes/answers/5.mp3 rename to public/Data/HCO/Memes/answers/5.mp3 diff --git a/src/Data/HCO/Memes/songs/1.mp3 b/public/Data/HCO/Memes/songs/1.mp3 similarity index 100% rename from src/Data/HCO/Memes/songs/1.mp3 rename to public/Data/HCO/Memes/songs/1.mp3 diff --git a/src/Data/HCO/Memes/songs/2.mp3 b/public/Data/HCO/Memes/songs/2.mp3 similarity index 100% rename from src/Data/HCO/Memes/songs/2.mp3 rename to public/Data/HCO/Memes/songs/2.mp3 diff --git a/src/Data/HCO/Memes/songs/3.mp3 b/public/Data/HCO/Memes/songs/3.mp3 similarity index 100% rename from src/Data/HCO/Memes/songs/3.mp3 rename to public/Data/HCO/Memes/songs/3.mp3 diff --git a/src/Data/HCO/Memes/songs/4.mp3 b/public/Data/HCO/Memes/songs/4.mp3 similarity index 100% rename from src/Data/HCO/Memes/songs/4.mp3 rename to public/Data/HCO/Memes/songs/4.mp3 diff --git a/src/Data/HCO/Memes/songs/5.mp3 b/public/Data/HCO/Memes/songs/5.mp3 similarity index 100% rename from src/Data/HCO/Memes/songs/5.mp3 rename to public/Data/HCO/Memes/songs/5.mp3 diff --git a/src/Data/HCO/Rock/answers/1.mp3 b/public/Data/HCO/Rock/answers/1.mp3 similarity index 100% rename from src/Data/HCO/Rock/answers/1.mp3 rename to public/Data/HCO/Rock/answers/1.mp3 diff --git a/src/Data/HCO/Rock/answers/2.mp3 b/public/Data/HCO/Rock/answers/2.mp3 similarity index 100% rename from src/Data/HCO/Rock/answers/2.mp3 rename to public/Data/HCO/Rock/answers/2.mp3 diff --git a/src/Data/HCO/Rock/answers/3.mp3 b/public/Data/HCO/Rock/answers/3.mp3 similarity index 100% rename from src/Data/HCO/Rock/answers/3.mp3 rename to public/Data/HCO/Rock/answers/3.mp3 diff --git a/src/Data/HCO/Rock/answers/4.mp3 b/public/Data/HCO/Rock/answers/4.mp3 similarity index 100% rename from src/Data/HCO/Rock/answers/4.mp3 rename to public/Data/HCO/Rock/answers/4.mp3 diff --git a/src/Data/HCO/Rock/answers/5.mp3 b/public/Data/HCO/Rock/answers/5.mp3 similarity index 100% rename from src/Data/HCO/Rock/answers/5.mp3 rename to public/Data/HCO/Rock/answers/5.mp3 diff --git a/src/Data/HCO/Rock/songs/1.mp3 b/public/Data/HCO/Rock/songs/1.mp3 similarity index 100% rename from src/Data/HCO/Rock/songs/1.mp3 rename to public/Data/HCO/Rock/songs/1.mp3 diff --git a/src/Data/HCO/Rock/songs/2.mp3 b/public/Data/HCO/Rock/songs/2.mp3 similarity index 100% rename from src/Data/HCO/Rock/songs/2.mp3 rename to public/Data/HCO/Rock/songs/2.mp3 diff --git a/src/Data/HCO/Rock/songs/3.mp3 b/public/Data/HCO/Rock/songs/3.mp3 similarity index 100% rename from src/Data/HCO/Rock/songs/3.mp3 rename to public/Data/HCO/Rock/songs/3.mp3 diff --git a/src/Data/HCO/Rock/songs/4.mp3 b/public/Data/HCO/Rock/songs/4.mp3 similarity index 100% rename from src/Data/HCO/Rock/songs/4.mp3 rename to public/Data/HCO/Rock/songs/4.mp3 diff --git a/src/Data/HCO/Rock/songs/5.mp3 b/public/Data/HCO/Rock/songs/5.mp3 similarity index 100% rename from src/Data/HCO/Rock/songs/5.mp3 rename to public/Data/HCO/Rock/songs/5.mp3 diff --git a/src/Data/Misc/Bardcore/answers/1.mp3 b/public/Data/Misc/Bardcore/answers/1.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/answers/1.mp3 rename to public/Data/Misc/Bardcore/answers/1.mp3 diff --git a/src/Data/Misc/Bardcore/answers/2.mp3 b/public/Data/Misc/Bardcore/answers/2.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/answers/2.mp3 rename to public/Data/Misc/Bardcore/answers/2.mp3 diff --git a/src/Data/Misc/Bardcore/answers/3.mp3 b/public/Data/Misc/Bardcore/answers/3.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/answers/3.mp3 rename to public/Data/Misc/Bardcore/answers/3.mp3 diff --git a/src/Data/Misc/Bardcore/answers/4.mp3 b/public/Data/Misc/Bardcore/answers/4.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/answers/4.mp3 rename to public/Data/Misc/Bardcore/answers/4.mp3 diff --git a/src/Data/Misc/Bardcore/answers/5.mp3 b/public/Data/Misc/Bardcore/answers/5.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/answers/5.mp3 rename to public/Data/Misc/Bardcore/answers/5.mp3 diff --git a/src/Data/Misc/Bardcore/songs/1.mp3 b/public/Data/Misc/Bardcore/songs/1.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/songs/1.mp3 rename to public/Data/Misc/Bardcore/songs/1.mp3 diff --git a/src/Data/Misc/Bardcore/songs/2.mp3 b/public/Data/Misc/Bardcore/songs/2.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/songs/2.mp3 rename to public/Data/Misc/Bardcore/songs/2.mp3 diff --git a/src/Data/Misc/Bardcore/songs/3.mp3 b/public/Data/Misc/Bardcore/songs/3.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/songs/3.mp3 rename to public/Data/Misc/Bardcore/songs/3.mp3 diff --git a/src/Data/Misc/Bardcore/songs/4.mp3 b/public/Data/Misc/Bardcore/songs/4.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/songs/4.mp3 rename to public/Data/Misc/Bardcore/songs/4.mp3 diff --git a/src/Data/Misc/Bardcore/songs/5.mp3 b/public/Data/Misc/Bardcore/songs/5.mp3 similarity index 100% rename from src/Data/Misc/Bardcore/songs/5.mp3 rename to public/Data/Misc/Bardcore/songs/5.mp3 diff --git a/src/Data/Misc/Disney/answers/1.mp3 b/public/Data/Misc/Disney/answers/1.mp3 similarity index 100% rename from src/Data/Misc/Disney/answers/1.mp3 rename to public/Data/Misc/Disney/answers/1.mp3 diff --git a/src/Data/Misc/Disney/answers/2.mp3 b/public/Data/Misc/Disney/answers/2.mp3 similarity index 100% rename from src/Data/Misc/Disney/answers/2.mp3 rename to public/Data/Misc/Disney/answers/2.mp3 diff --git a/src/Data/Misc/Disney/answers/3.mp3 b/public/Data/Misc/Disney/answers/3.mp3 similarity index 100% rename from src/Data/Misc/Disney/answers/3.mp3 rename to public/Data/Misc/Disney/answers/3.mp3 diff --git a/src/Data/Misc/Disney/answers/4.mp3 b/public/Data/Misc/Disney/answers/4.mp3 similarity index 100% rename from src/Data/Misc/Disney/answers/4.mp3 rename to public/Data/Misc/Disney/answers/4.mp3 diff --git a/src/Data/Misc/Disney/answers/5.mp3 b/public/Data/Misc/Disney/answers/5.mp3 similarity index 100% rename from src/Data/Misc/Disney/answers/5.mp3 rename to public/Data/Misc/Disney/answers/5.mp3 diff --git a/src/Data/Misc/Disney/songs/1.mp3 b/public/Data/Misc/Disney/songs/1.mp3 similarity index 100% rename from src/Data/Misc/Disney/songs/1.mp3 rename to public/Data/Misc/Disney/songs/1.mp3 diff --git a/src/Data/Misc/Disney/songs/2.mp3 b/public/Data/Misc/Disney/songs/2.mp3 similarity index 100% rename from src/Data/Misc/Disney/songs/2.mp3 rename to public/Data/Misc/Disney/songs/2.mp3 diff --git a/src/Data/Misc/Disney/songs/3.mp3 b/public/Data/Misc/Disney/songs/3.mp3 similarity index 100% rename from src/Data/Misc/Disney/songs/3.mp3 rename to public/Data/Misc/Disney/songs/3.mp3 diff --git a/src/Data/Misc/Disney/songs/4.mp3 b/public/Data/Misc/Disney/songs/4.mp3 similarity index 100% rename from src/Data/Misc/Disney/songs/4.mp3 rename to public/Data/Misc/Disney/songs/4.mp3 diff --git a/src/Data/Misc/Disney/songs/5.mp3 b/public/Data/Misc/Disney/songs/5.mp3 similarity index 100% rename from src/Data/Misc/Disney/songs/5.mp3 rename to public/Data/Misc/Disney/songs/5.mp3 diff --git a/src/Data/Misc/One Hit Wonders/answers/1.mp3 b/public/Data/Misc/One Hit Wonders/answers/1.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/answers/1.mp3 rename to public/Data/Misc/One Hit Wonders/answers/1.mp3 diff --git a/src/Data/Misc/One Hit Wonders/answers/2.mp3 b/public/Data/Misc/One Hit Wonders/answers/2.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/answers/2.mp3 rename to public/Data/Misc/One Hit Wonders/answers/2.mp3 diff --git a/src/Data/Misc/One Hit Wonders/answers/3.mp3 b/public/Data/Misc/One Hit Wonders/answers/3.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/answers/3.mp3 rename to public/Data/Misc/One Hit Wonders/answers/3.mp3 diff --git a/src/Data/Misc/One Hit Wonders/answers/4.mp3 b/public/Data/Misc/One Hit Wonders/answers/4.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/answers/4.mp3 rename to public/Data/Misc/One Hit Wonders/answers/4.mp3 diff --git a/src/Data/Misc/One Hit Wonders/answers/5.mp3 b/public/Data/Misc/One Hit Wonders/answers/5.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/answers/5.mp3 rename to public/Data/Misc/One Hit Wonders/answers/5.mp3 diff --git a/src/Data/Misc/One Hit Wonders/songs/1.mp3 b/public/Data/Misc/One Hit Wonders/songs/1.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/songs/1.mp3 rename to public/Data/Misc/One Hit Wonders/songs/1.mp3 diff --git a/src/Data/Misc/One Hit Wonders/songs/2.mp3 b/public/Data/Misc/One Hit Wonders/songs/2.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/songs/2.mp3 rename to public/Data/Misc/One Hit Wonders/songs/2.mp3 diff --git a/src/Data/Misc/One Hit Wonders/songs/3.mp3 b/public/Data/Misc/One Hit Wonders/songs/3.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/songs/3.mp3 rename to public/Data/Misc/One Hit Wonders/songs/3.mp3 diff --git a/src/Data/Misc/One Hit Wonders/songs/4.mp3 b/public/Data/Misc/One Hit Wonders/songs/4.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/songs/4.mp3 rename to public/Data/Misc/One Hit Wonders/songs/4.mp3 diff --git a/src/Data/Misc/One Hit Wonders/songs/5.mp3 b/public/Data/Misc/One Hit Wonders/songs/5.mp3 similarity index 100% rename from src/Data/Misc/One Hit Wonders/songs/5.mp3 rename to public/Data/Misc/One Hit Wonders/songs/5.mp3 diff --git a/src/Data/Misc/Tal i Titlen/answers/1.mp3 b/public/Data/Misc/Tal i Titlen/answers/1.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/answers/1.mp3 rename to public/Data/Misc/Tal i Titlen/answers/1.mp3 diff --git a/src/Data/Misc/Tal i Titlen/answers/2.mp3 b/public/Data/Misc/Tal i Titlen/answers/2.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/answers/2.mp3 rename to public/Data/Misc/Tal i Titlen/answers/2.mp3 diff --git a/src/Data/Misc/Tal i Titlen/answers/3.mp3 b/public/Data/Misc/Tal i Titlen/answers/3.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/answers/3.mp3 rename to public/Data/Misc/Tal i Titlen/answers/3.mp3 diff --git a/src/Data/Misc/Tal i Titlen/answers/4.mp3 b/public/Data/Misc/Tal i Titlen/answers/4.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/answers/4.mp3 rename to public/Data/Misc/Tal i Titlen/answers/4.mp3 diff --git a/src/Data/Misc/Tal i Titlen/answers/5.mp3 b/public/Data/Misc/Tal i Titlen/answers/5.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/answers/5.mp3 rename to public/Data/Misc/Tal i Titlen/answers/5.mp3 diff --git a/src/Data/Misc/Tal i Titlen/songs/1.mp3 b/public/Data/Misc/Tal i Titlen/songs/1.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/songs/1.mp3 rename to public/Data/Misc/Tal i Titlen/songs/1.mp3 diff --git a/src/Data/Misc/Tal i Titlen/songs/2.mp3 b/public/Data/Misc/Tal i Titlen/songs/2.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/songs/2.mp3 rename to public/Data/Misc/Tal i Titlen/songs/2.mp3 diff --git a/src/Data/Misc/Tal i Titlen/songs/3.mp3 b/public/Data/Misc/Tal i Titlen/songs/3.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/songs/3.mp3 rename to public/Data/Misc/Tal i Titlen/songs/3.mp3 diff --git a/src/Data/Misc/Tal i Titlen/songs/4.mp3 b/public/Data/Misc/Tal i Titlen/songs/4.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/songs/4.mp3 rename to public/Data/Misc/Tal i Titlen/songs/4.mp3 diff --git a/src/Data/Misc/Tal i Titlen/songs/5.mp3 b/public/Data/Misc/Tal i Titlen/songs/5.mp3 similarity index 100% rename from src/Data/Misc/Tal i Titlen/songs/5.mp3 rename to public/Data/Misc/Tal i Titlen/songs/5.mp3 diff --git a/src/Data/Years/2010's/answers/1.mp3 b/public/Data/Years/2010's/answers/1.mp3 similarity index 100% rename from src/Data/Years/2010's/answers/1.mp3 rename to public/Data/Years/2010's/answers/1.mp3 diff --git a/src/Data/Years/2010's/answers/2.mp3 b/public/Data/Years/2010's/answers/2.mp3 similarity index 100% rename from src/Data/Years/2010's/answers/2.mp3 rename to public/Data/Years/2010's/answers/2.mp3 diff --git a/src/Data/Years/2010's/answers/3.mp3 b/public/Data/Years/2010's/answers/3.mp3 similarity index 100% rename from src/Data/Years/2010's/answers/3.mp3 rename to public/Data/Years/2010's/answers/3.mp3 diff --git a/src/Data/Years/2010's/answers/4.mp3 b/public/Data/Years/2010's/answers/4.mp3 similarity index 100% rename from src/Data/Years/2010's/answers/4.mp3 rename to public/Data/Years/2010's/answers/4.mp3 diff --git a/src/Data/Years/2010's/answers/5.mp3 b/public/Data/Years/2010's/answers/5.mp3 similarity index 100% rename from src/Data/Years/2010's/answers/5.mp3 rename to public/Data/Years/2010's/answers/5.mp3 diff --git a/src/Data/Years/2010's/songs/1.mp3 b/public/Data/Years/2010's/songs/1.mp3 similarity index 100% rename from src/Data/Years/2010's/songs/1.mp3 rename to public/Data/Years/2010's/songs/1.mp3 diff --git a/src/Data/Years/2010's/songs/2.mp3 b/public/Data/Years/2010's/songs/2.mp3 similarity index 100% rename from src/Data/Years/2010's/songs/2.mp3 rename to public/Data/Years/2010's/songs/2.mp3 diff --git a/src/Data/Years/2010's/songs/3.mp3 b/public/Data/Years/2010's/songs/3.mp3 similarity index 100% rename from src/Data/Years/2010's/songs/3.mp3 rename to public/Data/Years/2010's/songs/3.mp3 diff --git a/src/Data/Years/2010's/songs/4.mp3 b/public/Data/Years/2010's/songs/4.mp3 similarity index 100% rename from src/Data/Years/2010's/songs/4.mp3 rename to public/Data/Years/2010's/songs/4.mp3 diff --git a/src/Data/Years/2010's/songs/5.mp3 b/public/Data/Years/2010's/songs/5.mp3 similarity index 100% rename from src/Data/Years/2010's/songs/5.mp3 rename to public/Data/Years/2010's/songs/5.mp3 diff --git a/src/Data/Years/2020/answers/1.mp3 b/public/Data/Years/2020/answers/1.mp3 similarity index 100% rename from src/Data/Years/2020/answers/1.mp3 rename to public/Data/Years/2020/answers/1.mp3 diff --git a/src/Data/Years/2020/answers/2.mp3 b/public/Data/Years/2020/answers/2.mp3 similarity index 100% rename from src/Data/Years/2020/answers/2.mp3 rename to public/Data/Years/2020/answers/2.mp3 diff --git a/src/Data/Years/2020/answers/3.mp3 b/public/Data/Years/2020/answers/3.mp3 similarity index 100% rename from src/Data/Years/2020/answers/3.mp3 rename to public/Data/Years/2020/answers/3.mp3 diff --git a/src/Data/Years/2020/answers/4.mp3 b/public/Data/Years/2020/answers/4.mp3 similarity index 100% rename from src/Data/Years/2020/answers/4.mp3 rename to public/Data/Years/2020/answers/4.mp3 diff --git a/src/Data/Years/2020/answers/5.mp3 b/public/Data/Years/2020/answers/5.mp3 similarity index 100% rename from src/Data/Years/2020/answers/5.mp3 rename to public/Data/Years/2020/answers/5.mp3 diff --git a/src/Data/Years/2020/songs/1.mp3 b/public/Data/Years/2020/songs/1.mp3 similarity index 100% rename from src/Data/Years/2020/songs/1.mp3 rename to public/Data/Years/2020/songs/1.mp3 diff --git a/src/Data/Years/2020/songs/2.mp3 b/public/Data/Years/2020/songs/2.mp3 similarity index 100% rename from src/Data/Years/2020/songs/2.mp3 rename to public/Data/Years/2020/songs/2.mp3 diff --git a/src/Data/Years/2020/songs/3.mp3 b/public/Data/Years/2020/songs/3.mp3 similarity index 100% rename from src/Data/Years/2020/songs/3.mp3 rename to public/Data/Years/2020/songs/3.mp3 diff --git a/src/Data/Years/2020/songs/4.mp3 b/public/Data/Years/2020/songs/4.mp3 similarity index 100% rename from src/Data/Years/2020/songs/4.mp3 rename to public/Data/Years/2020/songs/4.mp3 diff --git a/src/Data/Years/2020/songs/5.mp3 b/public/Data/Years/2020/songs/5.mp3 similarity index 100% rename from src/Data/Years/2020/songs/5.mp3 rename to public/Data/Years/2020/songs/5.mp3 diff --git a/src/Data/Years/2024/answers/1.mp3 b/public/Data/Years/2024/answers/1.mp3 similarity index 100% rename from src/Data/Years/2024/answers/1.mp3 rename to public/Data/Years/2024/answers/1.mp3 diff --git a/src/Data/Years/2024/answers/2.mp3 b/public/Data/Years/2024/answers/2.mp3 similarity index 100% rename from src/Data/Years/2024/answers/2.mp3 rename to public/Data/Years/2024/answers/2.mp3 diff --git a/src/Data/Years/2024/answers/3.mp3 b/public/Data/Years/2024/answers/3.mp3 similarity index 100% rename from src/Data/Years/2024/answers/3.mp3 rename to public/Data/Years/2024/answers/3.mp3 diff --git a/src/Data/Years/2024/answers/4.mp3 b/public/Data/Years/2024/answers/4.mp3 similarity index 100% rename from src/Data/Years/2024/answers/4.mp3 rename to public/Data/Years/2024/answers/4.mp3 diff --git a/src/Data/Years/2024/answers/5.mp3 b/public/Data/Years/2024/answers/5.mp3 similarity index 100% rename from src/Data/Years/2024/answers/5.mp3 rename to public/Data/Years/2024/answers/5.mp3 diff --git a/src/Data/Years/2024/songs/1.mp3 b/public/Data/Years/2024/songs/1.mp3 similarity index 100% rename from src/Data/Years/2024/songs/1.mp3 rename to public/Data/Years/2024/songs/1.mp3 diff --git a/src/Data/Years/2024/songs/2.mp3 b/public/Data/Years/2024/songs/2.mp3 similarity index 100% rename from src/Data/Years/2024/songs/2.mp3 rename to public/Data/Years/2024/songs/2.mp3 diff --git a/src/Data/Years/2024/songs/3.mp3 b/public/Data/Years/2024/songs/3.mp3 similarity index 100% rename from src/Data/Years/2024/songs/3.mp3 rename to public/Data/Years/2024/songs/3.mp3 diff --git a/src/Data/Years/2024/songs/4.mp3 b/public/Data/Years/2024/songs/4.mp3 similarity index 100% rename from src/Data/Years/2024/songs/4.mp3 rename to public/Data/Years/2024/songs/4.mp3 diff --git a/src/Data/Years/2024/songs/5.mp3 b/public/Data/Years/2024/songs/5.mp3 similarity index 100% rename from src/Data/Years/2024/songs/5.mp3 rename to public/Data/Years/2024/songs/5.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/answers/1.mp3 b/public/Data/Years/Roskilde Gennem Årene/answers/1.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/answers/1.mp3 rename to public/Data/Years/Roskilde Gennem Årene/answers/1.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/answers/2.mp3 b/public/Data/Years/Roskilde Gennem Årene/answers/2.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/answers/2.mp3 rename to public/Data/Years/Roskilde Gennem Årene/answers/2.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/answers/3.mp3 b/public/Data/Years/Roskilde Gennem Årene/answers/3.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/answers/3.mp3 rename to public/Data/Years/Roskilde Gennem Årene/answers/3.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/answers/4.mp3 b/public/Data/Years/Roskilde Gennem Årene/answers/4.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/answers/4.mp3 rename to public/Data/Years/Roskilde Gennem Årene/answers/4.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/answers/5.mp3 b/public/Data/Years/Roskilde Gennem Årene/answers/5.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/answers/5.mp3 rename to public/Data/Years/Roskilde Gennem Årene/answers/5.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/songs/1.mp3 b/public/Data/Years/Roskilde Gennem Årene/songs/1.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/songs/1.mp3 rename to public/Data/Years/Roskilde Gennem Årene/songs/1.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/songs/2.mp3 b/public/Data/Years/Roskilde Gennem Årene/songs/2.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/songs/2.mp3 rename to public/Data/Years/Roskilde Gennem Årene/songs/2.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/songs/3.mp3 b/public/Data/Years/Roskilde Gennem Årene/songs/3.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/songs/3.mp3 rename to public/Data/Years/Roskilde Gennem Årene/songs/3.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/songs/4.mp3 b/public/Data/Years/Roskilde Gennem Årene/songs/4.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/songs/4.mp3 rename to public/Data/Years/Roskilde Gennem Årene/songs/4.mp3 diff --git a/src/Data/Years/Roskilde Gennem Årene/songs/5.mp3 b/public/Data/Years/Roskilde Gennem Årene/songs/5.mp3 similarity index 100% rename from src/Data/Years/Roskilde Gennem Årene/songs/5.mp3 rename to public/Data/Years/Roskilde Gennem Årene/songs/5.mp3 diff --git a/scripts/generate-data-manifest.mjs b/scripts/generate-data-manifest.mjs new file mode 100644 index 0000000..33a9fa9 --- /dev/null +++ b/scripts/generate-data-manifest.mjs @@ -0,0 +1,68 @@ +import fs from 'fs' +import path from 'path' + +const projectRoot = process.cwd() +const dataRoot = path.join(projectRoot, 'public', 'Data') +const outputPath = path.join(projectRoot, 'public', 'data.json') + +const isDirectory = (target) => { + try { + return fs.statSync(target).isDirectory() + } catch { + return false + } +} + +const listDirectories = (target) => { + if (!isDirectory(target)) return [] + return fs.readdirSync(target).filter((entry) => isDirectory(path.join(target, entry))) +} + +const buildManifest = () => { + const games = [] + const gameNames = listDirectories(dataRoot) + gameNames.forEach((gameName) => { + const gamePath = path.join(dataRoot, gameName) + const categories = [] + const categoryNames = listDirectories(gamePath) + categoryNames.forEach((categoryName) => { + const songsDir = path.join(gamePath, categoryName, 'Songs') + const answersDir = path.join(gamePath, categoryName, 'Answers') + const clues = [] + for (let i = 1; i <= 5; i += 1) { + const songPath = path.join('Data', gameName, categoryName, 'Songs', `${i}.mp3`) + const answerPath = path.join('Data', gameName, categoryName, 'Answers', `${i}.mp3`) + const songExists = fs.existsSync(path.join(dataRoot, gameName, categoryName, 'Songs', `${i}.mp3`)) + const answerExists = fs.existsSync( + path.join(dataRoot, gameName, categoryName, 'Answers', `${i}.mp3`) + ) + clues.push({ + number: i, + points: i * 100, + song: songExists ? `/${songPath.replace(/\\/g, '/')}` : null, + answer: answerExists ? `/${answerPath.replace(/\\/g, '/')}` : null + }) + } + categories.push({ + name: categoryName, + clues + }) + }) + games.push({ + name: gameName, + categories + }) + }) + return games +} + +const main = () => { + if (!isDirectory(dataRoot)) { + fs.writeFileSync(outputPath, JSON.stringify([], null, 2)) + return + } + const manifest = buildManifest() + fs.writeFileSync(outputPath, JSON.stringify(manifest, null, 2)) +} + +main() diff --git a/src/App.vue b/src/App.vue index 47193cf..ca7548a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -57,11 +57,21 @@ playable game.
-Loading games…
+Could not load games.
+{{ loadError }}
+No games found yet.
- Add folders in src/Data/<GameName>/<Category>
- with Songs and Answers subfolders.
+ Add folders in public/Data/<GameName>/<Category>
+ with Songs and Answers subfolders, then
+ run npm run generate:data.