From 011092a87d661c95e7172c38aad21177998b7b94 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Sun, 23 Feb 2025 19:04:13 +0100 Subject: [PATCH] feat(home): latest series --- src/components/home/HomeContent.tsx | 5 +++++ src/lib/services/home.service.ts | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/components/home/HomeContent.tsx b/src/components/home/HomeContent.tsx index c16fa89..bb51aa2 100644 --- a/src/components/home/HomeContent.tsx +++ b/src/components/home/HomeContent.tsx @@ -7,6 +7,7 @@ interface HomeData { ongoing: KomgaSeries[]; recentlyRead: KomgaBook[]; onDeck: KomgaBook[]; + latestSeries: KomgaSeries[]; } interface HomeContentProps { @@ -68,6 +69,10 @@ export function HomeContent({ data, refreshHome }: HomeContentProps) { )} + {data.latestSeries && data.latestSeries.length > 0 && ( + + )} + {data.recentlyRead && data.recentlyRead.length > 0 && ( )} diff --git a/src/lib/services/home.service.ts b/src/lib/services/home.service.ts index 3c331db..066a75e 100644 --- a/src/lib/services/home.service.ts +++ b/src/lib/services/home.service.ts @@ -7,13 +7,14 @@ interface HomeData { ongoing: KomgaSeries[]; recentlyRead: KomgaBook[]; onDeck: KomgaBook[]; + latestSeries: KomgaSeries[]; } export class HomeService extends BaseApiService { static async getHomeData(): Promise { try { // Appels API parallèles avec cache individuel - const [ongoing, recentlyRead, onDeck] = await Promise.all([ + const [ongoing, recentlyRead, onDeck, latestSeries] = await Promise.all([ this.fetchWithCache>( "home-ongoing", async () => @@ -55,12 +56,26 @@ export class HomeService extends BaseApiService { }), "HOME" ), + this.fetchWithCache>( + "home-latest-series", + async () => + this.fetchFromApi>({ + path: "series/latest", + params: { + page: "0", + size: "10", + media_status: "READY", + }, + }), + "HOME" + ), ]); return { ongoing: ongoing.content || [], recentlyRead: recentlyRead.content || [], onDeck: onDeck.content || [], + latestSeries: latestSeries.content || [], }; } catch (error) { return this.handleError(error, "Impossible de récupérer les données de la page d'accueil");