"use client"; import { useRouter } from "next/navigation"; import Image from "next/image"; import { Mic2 } from "lucide-react"; import { SimilarPodcast } from "../types"; import { api } from "@/lib/api"; interface SimilarPodcastsProps { podcasts: SimilarPodcast[]; } // 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 SimilarPodcasts({ podcasts }: SimilarPodcastsProps) { const router = useRouter(); if (!podcasts || podcasts.length === 0) { return null; } return (

Fans Also Like

{podcasts.map((podcast) => { const imageUrl = getProxiedImageUrl(podcast.coverUrl); return (
router.push(`/podcasts/${podcast.id}`) } >
{imageUrl ? ( {podcast.title} ) : (
)}

{podcast.title}

{podcast.author}

); })}
); }