feat: genre pages

This commit is contained in:
Cory Dransfeldt 2024-05-26 14:25:03 -07:00
parent f6ec72f469
commit 086a7bf6c9
No known key found for this signature in database
29 changed files with 165 additions and 67 deletions

41
src/_data/genres.js Normal file
View file

@ -0,0 +1,41 @@
import { createClient } from '@supabase/supabase-js'
import { parseCountryField } from './utilities/index.js'
const SUPABASE_URL = process.env.SUPABASE_URL || 'YOUR_SUPABASE_URL'
const SUPABASE_KEY = process.env.SUPABASE_KEY || 'YOUR_SUPABASE_KEY'
const supabase = createClient(SUPABASE_URL, SUPABASE_KEY)
export default async function fetchGenresWithArtists() {
const { data, error } = await supabase
.from('genres')
.select(`
name,
description,
total_plays,
wiki_link,
artists (
mbid,
name_string,
image,
total_plays,
country,
description,
favorite
)
`)
.order('id', { ascending: true })
if (error) {
console.error('Error fetching genres with artists:', error)
return []
}
data.forEach(genre => {
genre.artists = genre.artists.map(artist => ({
...artist,
country: parseCountryField(artist.country)
}))
})
return data
}