import Link from "next/link"; import Image from "next/image"; import { Music } from "lucide-react"; import { Podcast } from "../types"; import { api } from "@/lib/api"; interface LibraryPodcastsGridProps { podcasts: Podcast[]; } // 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 LibraryPodcastsGrid({ podcasts }: LibraryPodcastsGridProps) { return (
{podcasts.slice(0, 6).map((podcast, index) => { const imageUrl = getProxiedImageUrl(podcast.imageUrl); return (
{imageUrl ? ( {podcast.title} ) : ( )}

{podcast.title}

{podcast.author || "Podcast"}

{podcast.episodeCount && podcast.episodeCount > 0 && (

{podcast.episodeCount} episodes

)}
); })}
); }