"use client"; import Image from "next/image"; import { ImageOff } from "lucide-react"; import { KomgaSeries } from "@/types/komga"; import { useState, useEffect } from "react"; interface SeriesHeaderProps { series: KomgaSeries; serverUrl: string; } export function SeriesHeader({ series, serverUrl }: SeriesHeaderProps) { const [languageDisplay, setLanguageDisplay] = useState(series.metadata.language); useEffect(() => { try { if (series.metadata.language) { const displayNames = new Intl.DisplayNames([navigator.language || "fr-FR"], { type: "language", }); setLanguageDisplay(displayNames.of(series.metadata.language) || series.metadata.language); } } catch (error) { console.error("Erreur lors de la traduction de la langue:", error); setLanguageDisplay(series.metadata.language); } }, [series.metadata.language]); return (
{/* Couverture */}
{`Couverture
{/* Informations */}

{series.metadata.title}

{series.metadata.status && ( {series.metadata.status === "ENDED" ? "Terminé" : series.metadata.status === "ONGOING" ? "En cours" : series.metadata.status === "ABANDONED" ? "Abandonné" : "En pause"} )}
{series.metadata.summary && (

{series.metadata.summary}

)}
{series.metadata.publisher && (
Éditeur : {series.metadata.publisher}
)} {series.metadata.genres?.length > 0 && (
Genres : {series.metadata.genres.join(", ")}
)} {series.metadata.tags?.length > 0 && (
Tags : {series.metadata.tags.join(", ")}
)} {series.metadata.language && (
Langue : {languageDisplay}
)} {series.metadata.ageRating && (
Âge recommandé : {series.metadata.ageRating}+
)}
); }