feat: progressbar everywhere

This commit is contained in:
Julien Froidefond
2025-02-26 08:35:07 +01:00
parent 7c8fa6bf72
commit c79214853a
4 changed files with 21 additions and 8 deletions

View File

@@ -25,27 +25,32 @@ export function HomeContent({ data, refreshHome }: HomeContentProps) {
// });
const optimizeSeriesData = (series: KomgaSeries[]) => {
return series.map(({ id, metadata, booksCount }) => ({
return series.map(({ id, metadata, booksCount, booksReadCount }) => ({
id,
metadata: { title: metadata.title },
booksCount,
booksReadCount
}));
};
const optimizeHeroSeriesData = (series: KomgaSeries[]) => {
return series.map(({ id, metadata }) => ({
return series.map(({ id, metadata, booksCount, booksReadCount }) => ({
id,
metadata: { title: metadata.title },
booksCount,
booksReadCount
}));
};
const optimizeBookData = (books: KomgaBook[]) => {
return books.map(({ id, metadata }) => ({
return books.map(({ id, metadata, readProgress, media }) => ({
id,
metadata: {
title: metadata.title,
number: metadata.number,
},
readProgress,
media
}));
};

View File

@@ -14,6 +14,7 @@ interface BaseItem {
interface OptimizedSeries extends BaseItem {
booksCount: number;
booksReadCount: number;
}
interface OptimizedBook extends BaseItem {
@@ -124,6 +125,9 @@ function MediaCard({ item, onClick }: MediaCardProps) {
id={item.id}
alt={`Couverture de ${title}`}
quality={100}
readBooks={isSeries ? item.booksReadCount : undefined}
totalBooks={isSeries ? item.booksCount : undefined}
isCompleted={isSeries ? item.booksCount === item.booksReadCount : undefined}
/>
{/* Overlay avec les informations au survol */}
<div className="absolute inset-0 bg-black/60 opacity-0 hover:opacity-100 transition-opacity duration-200 flex flex-col justify-end p-3">