'use client'; import React, {useState} from "react"; import {Layers, Settings} from 'lucide-react'; import IconButton from "@/components/ui/IconButton"; import {BookProps} from "@/lib/types/book"; import BookCard from "@/components/book/BookCard"; import Badge from "@/components/ui/Badge"; import {useTranslations} from '@/lib/i18n'; export interface SeriesCardProps { id: string; name: string; coverImage: string | null; books: BookProps[]; } interface SeriesCardComponentProps { series: SeriesCardProps; onBookClick: (bookId: string) => void; onSettingsClick: (seriesId: string) => void; } export default function SeriesCard({series, onBookClick, onSettingsClick}: SeriesCardComponentProps) { const t = useTranslations(); const [isExpanded, setIsExpanded] = useState(false); return (
setIsExpanded(!isExpanded)} className={`group relative aspect-[2/3] overflow-hidden cursor-pointer transition-all duration-300 hover:ring-1 hover:ring-text-primary/20 flex-shrink-0 w-64 sm:w-52 md:w-48 lg:w-56 xl:w-64 ${isExpanded ? 'rounded-l-xl' : 'rounded-xl'}`} > {series.coverImage ? ( {series.name} ) : (
)}

{series.name}

{series.books.length} {series.books.length > 1 ? t("seriesCard.books") : t("seriesCard.book")}

{series.books.length}
{isExpanded && ( <>
{series.books.map((book: BookProps, idx: number) => (
))}
onSettingsClick(series.id)}/>
)}
); }