fix: remplacement du button par un div pour les cartes médias
This commit is contained in:
@@ -51,14 +51,19 @@ function CoverImage({ series }: CoverImageProps) {
|
|||||||
return (
|
return (
|
||||||
<div className="relative aspect-[2/3] bg-muted rounded-lg overflow-hidden">
|
<div className="relative aspect-[2/3] bg-muted rounded-lg overflow-hidden">
|
||||||
{!imageError ? (
|
{!imageError ? (
|
||||||
<Image
|
<div className="absolute inset-0">
|
||||||
src={`/api/komga/images/series/${series.id}/thumbnail`}
|
<Image
|
||||||
alt={`Couverture de ${series.metadata.title}`}
|
src={`/api/komga/images/series/${series.id}/thumbnail`}
|
||||||
fill
|
alt={`Couverture de ${series.metadata.title}`}
|
||||||
className="object-cover"
|
width={200}
|
||||||
sizes="(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 16.666vw"
|
height={300}
|
||||||
onError={() => setImageError(true)}
|
className="w-full h-full object-cover"
|
||||||
/>
|
sizes="(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 16.666vw"
|
||||||
|
priority={true}
|
||||||
|
loading="eager"
|
||||||
|
onError={() => setImageError(true)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="w-full h-full flex items-center justify-center">
|
<div className="w-full h-full flex items-center justify-center">
|
||||||
<ImageOff className="w-8 h-8" />
|
<ImageOff className="w-8 h-8" />
|
||||||
|
|||||||
@@ -99,21 +99,26 @@ function MediaCard({ item, onClick }: MediaCardProps) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<button
|
<div
|
||||||
onClick={handleClick}
|
onClick={handleClick}
|
||||||
className="flex-shrink-0 w-[200px] relative flex flex-col rounded-lg border bg-card text-card-foreground shadow-sm hover:bg-accent hover:text-accent-foreground transition-colors overflow-hidden"
|
className="flex-shrink-0 w-[200px] relative flex flex-col rounded-lg border bg-card text-card-foreground shadow-sm hover:bg-accent hover:text-accent-foreground transition-colors overflow-hidden cursor-pointer"
|
||||||
>
|
>
|
||||||
{/* Image de couverture */}
|
{/* Image de couverture */}
|
||||||
<div className="relative aspect-[2/3] bg-muted">
|
<div className="relative aspect-[2/3] bg-muted">
|
||||||
{!imageError ? (
|
{!imageError ? (
|
||||||
<Image
|
<div className="absolute inset-0">
|
||||||
src={`/api/komga/images/${isSeries ? "series" : "books"}/${item.id}/thumbnail`}
|
<Image
|
||||||
alt={`Couverture de ${title}`}
|
src={`/api/komga/images/${isSeries ? "series" : "books"}/${item.id}/thumbnail`}
|
||||||
fill
|
alt={`Couverture de ${title}`}
|
||||||
className="object-cover"
|
width={200}
|
||||||
sizes="200px"
|
height={300}
|
||||||
onError={() => setImageError(true)}
|
className="w-full h-full object-cover"
|
||||||
/>
|
sizes="200px"
|
||||||
|
priority={true}
|
||||||
|
loading="eager"
|
||||||
|
onError={() => setImageError(true)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="w-full h-full flex items-center justify-center">
|
<div className="w-full h-full flex items-center justify-center">
|
||||||
<ImageOff className="w-12 h-12" />
|
<ImageOff className="w-12 h-12" />
|
||||||
@@ -130,6 +135,6 @@ function MediaCard({ item, onClick }: MediaCardProps) {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user