import { resizeImage } from '@/web/utils/common'
import { css, cx } from '@emotion/css'
import { memo } from 'react'
import { useNavigate } from 'react-router-dom'
import Image from './Image'
import { prefetchArtist } from '@/web/api/hooks/useArtist'
const Artist = ({ artist }: { artist: Artist }) => {
const navigate = useNavigate()
const to = () => {
navigate(`/artist/${artist.id}`)
}
return (
prefetchArtist({ id: artist.id })}
>
{artist.name}
)
}
const Placeholder = ({ row }: { row: number }) => {
return (
{[...new Array(row * 5).keys()].map(i => (
))}
)
}
const ArtistRow = ({
artists,
title,
className,
placeholderRow,
}: {
artists: Artist[] | undefined
title?: string
className?: string
placeholderRow?: number
}) => {
return (
{/* Title */}
{title && (
{title}
)}
{/* Artists */}
{artists && (
{artists.map(artist => (
))}
)}
{/* Placeholder */}
{placeholderRow && !artists &&
}
)
}
const memoizedArtistRow = memo(ArtistRow)
memoizedArtistRow.displayName = 'ArtistRow'
export default memoizedArtistRow