diff --git a/web/src/lib/api/queries.ts b/web/src/lib/api/queries.ts index 50f9ad9e..71f444f4 100644 --- a/web/src/lib/api/queries.ts +++ b/web/src/lib/api/queries.ts @@ -56,6 +56,8 @@ export const qk = { home: () => ['home'] as const, albumsAlpha: () => ['albumsAlpha'] as const, artistTracks: (artistId: string) => ['artistTracks', artistId] as const, + similarArtists: (artistId: string) => ['similarArtists', artistId] as const, + artistTopTracks: (artistId: string) => ['artistTopTracks', artistId] as const, playlists: (kind?: 'user' | 'system' | 'all') => ['playlists', { kind: kind ?? 'user' }] as const, playlist: (id: string) => ['playlist', id] as const, @@ -88,6 +90,22 @@ export function createAlbumQuery(id: string) { }); } +export function createSimilarArtistsQuery(id: string) { + return createQuery({ + queryKey: qk.similarArtists(id), + queryFn: () => api.get(`/api/artists/${id}/similar`), + enabled: id.length > 0, + }); +} + +export function createArtistTopTracksQuery(id: string) { + return createQuery({ + queryKey: qk.artistTopTracks(id), + queryFn: () => api.get(`/api/artists/${id}/top-tracks`), + enabled: id.length > 0, + }); +} + export function createSearchQuery(q: string) { return createQuery({ queryKey: qk.search(q), diff --git a/web/src/routes/artists/[id]/+page.svelte b/web/src/routes/artists/[id]/+page.svelte index c79fe59e..3f829273 100644 --- a/web/src/routes/artists/[id]/+page.svelte +++ b/web/src/routes/artists/[id]/+page.svelte @@ -1,9 +1,16 @@