fix: correction de l'erreur navigator is not defined dans SeriesHeader

This commit is contained in:
Julien Froidefond
2025-02-12 09:35:14 +01:00
parent afcb22387e
commit c9cd081921

View File

@@ -3,6 +3,7 @@
import Image from "next/image"; import Image from "next/image";
import { ImageOff } from "lucide-react"; import { ImageOff } from "lucide-react";
import { KomgaSeries } from "@/types/komga"; import { KomgaSeries } from "@/types/komga";
import { useState, useEffect } from "react";
interface SeriesHeaderProps { interface SeriesHeaderProps {
series: KomgaSeries; series: KomgaSeries;
@@ -10,6 +11,22 @@ interface SeriesHeaderProps {
} }
export function SeriesHeader({ series, serverUrl }: SeriesHeaderProps) { export function SeriesHeader({ series, serverUrl }: SeriesHeaderProps) {
const [languageDisplay, setLanguageDisplay] = useState<string>(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 ( return (
<div className="flex flex-col md:flex-row gap-8"> <div className="flex flex-col md:flex-row gap-8">
{/* Couverture */} {/* Couverture */}
@@ -73,10 +90,7 @@ export function SeriesHeader({ series, serverUrl }: SeriesHeaderProps) {
)} )}
{series.metadata.language && ( {series.metadata.language && (
<div> <div>
<span className="font-medium">Langue :</span>{" "} <span className="font-medium">Langue :</span> {languageDisplay}
{new Intl.DisplayNames([navigator.language], { type: "language" }).of(
series.metadata.language
)}
</div> </div>
)} )}
{series.metadata.ageRating && ( {series.metadata.ageRating && (