refacto: cover split and simplify

This commit is contained in:
Julien Froidefond
2025-03-01 14:55:52 +01:00
parent ee6e055505
commit 4c8c7cdb9e
10 changed files with 118 additions and 230 deletions

View File

@@ -0,0 +1,36 @@
"use client";
import { CoverClient } from "./cover-client";
import { ProgressBar } from "./progress-bar";
import { SeriesCoverProps, getImageUrl } from "./cover-utils";
export function SeriesCover({
series,
alt = "Image de couverture",
className,
quality = 80,
sizes = "100vw",
}: SeriesCoverProps) {
if (!series) return null;
const imageUrl = getImageUrl("series", series.id);
const isCompleted = series.booksCount === series.booksReadCount;
const readBooks = series.booksReadCount;
const totalBooks = series.booksCount;
const showProgress = readBooks && totalBooks && readBooks > 0 && !isCompleted;
return (
<div className="relative w-full h-full">
<CoverClient
imageUrl={imageUrl}
alt={alt}
className={className}
quality={quality}
sizes={sizes}
isCompleted={isCompleted}
/>
{showProgress && <ProgressBar progress={readBooks} total={totalBooks} type="series" />}
</div>
);
}