From 62fe3456c3c4fa8bd6f20ee3542c9dfda008c99f Mon Sep 17 00:00:00 2001 From: Pablu23 Date: Sat, 11 Oct 2025 16:10:32 +0200 Subject: [PATCH] Playlists are not gotten through actual spotify api for User --- src/app.d.ts | 2 +- src/lib/components/GameSettings.svelte | 9 ----- src/routes/lobby/[id]/+page.server.ts | 23 ++++++++---- src/routes/lobby/[id]/+page.svelte | 49 +++++--------------------- 4 files changed, 26 insertions(+), 57 deletions(-) diff --git a/src/app.d.ts b/src/app.d.ts index b7eb028..2328a52 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -30,7 +30,7 @@ export interface GameMode { } export interface Playlist { - id: number; + id: string; name: string; imageUrl: string; songCount: number; diff --git a/src/lib/components/GameSettings.svelte b/src/lib/components/GameSettings.svelte index 9967deb..44ee89f 100644 --- a/src/lib/components/GameSettings.svelte +++ b/src/lib/components/GameSettings.svelte @@ -22,15 +22,6 @@ selectedPlaylistId: settings.selectedPlaylistId }); - // $effect(() => { - // // Update local settings when change - // localSettings = { - // maxPlayers: settings.maxPlayers, - // gameMode: settings.gameMode, - // selectedPlaylistId: settings.selectedPlaylistId - // }; - // }); - function updateMaxPlayers(value: number) { if (value >= 2 && value <= 16) { localSettings.maxPlayers = value; diff --git a/src/routes/lobby/[id]/+page.server.ts b/src/routes/lobby/[id]/+page.server.ts index 2d6bd34..5204563 100644 --- a/src/routes/lobby/[id]/+page.server.ts +++ b/src/routes/lobby/[id]/+page.server.ts @@ -1,7 +1,7 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; import type { User } from '../../../app'; -import type { Settings } from '$lib/types'; +import type { Playlist, Settings } from '$lib/types'; import { env } from '$env/dynamic/public'; export const load: PageServerLoad = async ({ params, fetch, locals: { user } }) => { @@ -11,13 +11,12 @@ export const load: PageServerLoad = async ({ params, fetch, locals: { user } }) if (!env.PUBLIC_API_BASE) redirect(307, '/error'); - const u = new URL(`lobby/${params.id}`, env.PUBLIC_API_BASE); + let u = new URL(`lobby/${params.id}`, env.PUBLIC_API_BASE); const response = await fetch(u, { headers: { 'Content-Type': 'application/json' } }); - if (response.status != 200) { redirect(307, '/'); } @@ -28,8 +27,19 @@ export const load: PageServerLoad = async ({ params, fetch, locals: { user } }) players, gameSettings }: { id: string; host: User; players: User[]; gameSettings: Settings } = await response.json(); - console.log('Successful request for lobby'); - console.log(id); + + let playlists: Playlist[] = []; + if (user.email === host.email) { + u = new URL(`user/playlists`, env.PUBLIC_API_BASE); + const res = await fetch(u); + if (response.status != 200) { + console.log('Could not fetch playlists from api'); + redirect(307, '/error'); + } + + playlists = await res.json(); + console.log(JSON.stringify(playlists)); + } return { user: user, @@ -38,6 +48,7 @@ export const load: PageServerLoad = async ({ params, fetch, locals: { user } }) host, players, gameSettings - } + }, + playlists: playlists }; }; diff --git a/src/routes/lobby/[id]/+page.svelte b/src/routes/lobby/[id]/+page.svelte index 42c8dbb..aa9c075 100644 --- a/src/routes/lobby/[id]/+page.svelte +++ b/src/routes/lobby/[id]/+page.svelte @@ -1,7 +1,7 @@