"use client"; import { Library, BookOpen } from "lucide-react"; import type { KomgaLibrary, KomgaSeries } from "@/types/komga"; import { RefreshButton } from "./RefreshButton"; import { useTranslate } from "@/hooks/useTranslate"; import { StatusBadge } from "@/components/ui/status-badge"; import { SeriesCover } from "@/components/ui/series-cover"; interface LibraryHeaderProps { library: KomgaLibrary; seriesCount: number; series: KomgaSeries[]; refreshLibrary: (libraryId: string) => Promise<{ success: boolean; error?: string }>; } export const LibraryHeader = ({ library, seriesCount, series, refreshLibrary }: LibraryHeaderProps) => { const { t } = useTranslate(); // Sélectionner une série aléatoire pour l'image centrale const randomSeries = series.length > 0 ? series[Math.floor(Math.random() * series.length)] : null; // Sélectionner une autre série aléatoire pour le fond (différente de celle du centre) const backgroundSeries = series.length > 1 ? series.filter(s => s.id !== randomSeries?.id)[Math.floor(Math.random() * (series.length - 1))] : randomSeries; return (
{/* Image de fond avec une série aléatoire */}
{backgroundSeries ? ( ) : (
)}
{/* Contenu */}
{/* Cover centrale avec icône overlay */}
{randomSeries ? (
) : (
)}
{/* Informations */}

{library.name}

{seriesCount === 1 ? t("library.header.series", { count: seriesCount }) : t("library.header.series_plural", { count: seriesCount }) } {library.booksCount === 1 ? t("library.header.books", { count: library.booksCount }) : t("library.header.books_plural", { count: library.booksCount }) }
{library.unavailable && (

{t("library.header.unavailable")}

)}
); };