"use client"; import Link from "next/link"; import { Book, CheckCircle } from "lucide-react"; import { CachedImage } from "./CachedImage"; interface AudiobookCardProps { id: string; title: string; author: string; coverUrl: string | null; progress?: { progress: number; isFinished: boolean; } | null; seriesBadge?: string; // e.g., "5 books" for series cards index?: number; getCoverUrl: (url: string) => string | null; } export function AudiobookCard({ id, title, author, coverUrl, progress, seriesBadge, index = 0, getCoverUrl, }: AudiobookCardProps) { const resolvedCoverUrl = coverUrl ? getCoverUrl(coverUrl) : null; return (
{author}