fix: warn on awaiting params

This commit is contained in:
Julien Froidefond
2025-03-02 15:36:22 +01:00
parent f579775ee1
commit 43f76dfde6
2 changed files with 17 additions and 10 deletions

View File

@@ -57,16 +57,20 @@ async function getLibrarySeries(
} }
async function LibraryPage({ params, searchParams }: PageProps) { async function LibraryPage({ params, searchParams }: PageProps) {
const currentPage = searchParams.page ? parseInt(searchParams.page) : 1; const libraryId = (await params).libraryId;
const unread = (await searchParams).unread;
const search = (await searchParams).search;
const page = (await searchParams).page;
const currentPage = page ? parseInt(page) : 1;
const preferences: UserPreferences = await PreferencesService.getPreferences(); const preferences: UserPreferences = await PreferencesService.getPreferences();
// Utiliser le paramètre d'URL s'il existe, sinon utiliser la préférence utilisateur // Utiliser le paramètre d'URL s'il existe, sinon utiliser la préférence utilisateur
const unreadOnly = const unreadOnly = unread !== undefined ? unread === "true" : preferences.showOnlyUnread;
searchParams.unread !== undefined ? searchParams.unread === "true" : preferences.showOnlyUnread;
try { try {
const { data: series, library }: { data: LibraryResponse<KomgaSeries>; library: KomgaLibrary } = const { data: series, library }: { data: LibraryResponse<KomgaSeries>; library: KomgaLibrary } =
await getLibrarySeries(params.libraryId, currentPage, unreadOnly, searchParams.search); await getLibrarySeries(libraryId, currentPage, unreadOnly, search);
return ( return (
<div className="container py-8 space-y-8"> <div className="container py-8 space-y-8">
@@ -78,7 +82,7 @@ async function LibraryPage({ params, searchParams }: PageProps) {
{series.totalElements} série{series.totalElements > 1 ? "s" : ""} {series.totalElements} série{series.totalElements > 1 ? "s" : ""}
</p> </p>
)} )}
<RefreshButton libraryId={params.libraryId} refreshLibrary={refreshLibrary} /> <RefreshButton libraryId={libraryId} refreshLibrary={refreshLibrary} />
</div> </div>
</div> </div>
<PaginatedSeriesGrid <PaginatedSeriesGrid
@@ -98,7 +102,7 @@ async function LibraryPage({ params, searchParams }: PageProps) {
<div className="container py-8 space-y-8"> <div className="container py-8 space-y-8">
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<h1 className="text-3xl font-bold">Séries</h1> <h1 className="text-3xl font-bold">Séries</h1>
<RefreshButton libraryId={params.libraryId} refreshLibrary={refreshLibrary} /> <RefreshButton libraryId={libraryId} refreshLibrary={refreshLibrary} />
</div> </div>
<ErrorMessage errorCode={error.code} /> <ErrorMessage errorCode={error.code} />
</div> </div>

View File

@@ -51,16 +51,19 @@ async function refreshSeries(seriesId: string) {
} }
async function SeriesPage({ params, searchParams }: PageProps) { async function SeriesPage({ params, searchParams }: PageProps) {
const currentPage = searchParams.page ? parseInt(searchParams.page) : 1; const seriesId = (await params).seriesId;
const page = (await searchParams).page;
const unread = (await searchParams).unread;
const currentPage = page ? parseInt(page) : 1;
const preferences: UserPreferences = await PreferencesService.getPreferences(); const preferences: UserPreferences = await PreferencesService.getPreferences();
// Utiliser le paramètre d'URL s'il existe, sinon utiliser la préférence utilisateur // Utiliser le paramètre d'URL s'il existe, sinon utiliser la préférence utilisateur
const unreadOnly = const unreadOnly = unread !== undefined ? unread === "true" : preferences.showOnlyUnread;
searchParams.unread !== undefined ? searchParams.unread === "true" : preferences.showOnlyUnread;
try { try {
const { data: books, series }: { data: LibraryResponse<KomgaBook>; series: KomgaSeries } = const { data: books, series }: { data: LibraryResponse<KomgaBook>; series: KomgaSeries } =
await getSeriesBooks(params.seriesId, currentPage, unreadOnly); await getSeriesBooks(seriesId, currentPage, unreadOnly);
return ( return (
<div className="container"> <div className="container">