"use client"; import Link from "next/link"; import Image from "next/image"; import { BookOpen } from "lucide-react"; import { api } from "@/lib/api"; import { Audiobook } from "../types"; import { HorizontalCarousel, CarouselItem } from "@/components/ui/HorizontalCarousel"; import { memo } from "react"; interface AudiobooksGridProps { audiobooks: Audiobook[]; } interface AudiobookCardProps { audiobook: Audiobook; index: number; } const AudiobookCard = memo(function AudiobookCard({ audiobook, index }: AudiobookCardProps) { return (
{audiobook.coverUrl ? ( {audiobook.title} ) : ( )}

{audiobook.title}

{audiobook.author || "Audiobook"}

); }); export function AudiobooksGrid({ audiobooks }: AudiobooksGridProps) { return ( {audiobooks.map((audiobook, index) => ( ))} ); }