import Link from "next/link"; import Image from "next/image"; import { Music } from "lucide-react"; import { cn } from "@/utils/cn"; import { DiscoverResult } from "../types"; import { api } from "@/lib/api"; interface SimilarArtistsGridProps { discoverResults: DiscoverResult[]; } // Always proxy images through the backend for caching and mobile compatibility const getProxiedImageUrl = (imageUrl: string | undefined): string | null => { if (!imageUrl) return null; return api.getCoverArtUrl(imageUrl, 300); }; export function SimilarArtistsGrid({ discoverResults, }: SimilarArtistsGridProps) { const artistResults = discoverResults.filter((r) => r.type === "music"); if (artistResults.length <= 1) { return null; } return (

Similar Artists

{artistResults.slice(1, 7).map((result, index) => { const artistId = result.mbid || encodeURIComponent(result.name); const imageUrl = getProxiedImageUrl(result.image); return (
{imageUrl ? ( {result.name} ) : ( )}

{result.name}

Artist

); })}
); }