fix: SSR pour les providers cachés dans MetadataSearchModal
Les metadata providers sont récupérés côté serveur et les providers sans API key sont passés en prop initialHiddenProviders, supprimant le fetch client useEffect qui causait un layout shift. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -41,7 +41,7 @@ export default async function SeriesDetailPage({
|
||||
|
||||
const seriesName = decodeURIComponent(name);
|
||||
|
||||
const [library, booksPage, seriesMeta, metadataLinks, readingStatusLink, prowlarrConfigured, qbConfigured] = await Promise.all([
|
||||
const [library, booksPage, seriesMeta, metadataLinks, readingStatusLink, prowlarrConfigured, qbConfigured, metadataProviders] = await Promise.all([
|
||||
fetchLibraries().then((libs) => libs.find((l) => l.id === id)),
|
||||
fetchBooks(id, seriesName, page, limit).catch(() => ({
|
||||
items: [] as BookDto[],
|
||||
@@ -58,8 +58,12 @@ export default async function SeriesDetailPage({
|
||||
apiFetch<{ url?: string; username?: string }>("/settings/qbittorrent")
|
||||
.then(d => !!(d?.url?.trim() && d?.username?.trim()))
|
||||
.catch(() => false),
|
||||
apiFetch<{ comicvine?: { api_key?: string } }>("/settings/metadata_providers").catch(() => null),
|
||||
]);
|
||||
|
||||
const hiddenProviders: string[] = [];
|
||||
if (!metadataProviders?.comicvine?.api_key) hiddenProviders.push("comicvine");
|
||||
|
||||
const existingLink = metadataLinks.find((l) => l.status === "approved") ?? metadataLinks[0] ?? null;
|
||||
let missingData: MissingBooksDto | null = null;
|
||||
if (existingLink && existingLink.status === "approved") {
|
||||
@@ -249,6 +253,7 @@ export default async function SeriesDetailPage({
|
||||
seriesName={seriesName}
|
||||
existingLink={existingLink}
|
||||
initialMissing={missingData}
|
||||
initialHiddenProviders={hiddenProviders}
|
||||
/>
|
||||
<ReadingStatusModal
|
||||
libraryId={id}
|
||||
|
||||
Reference in New Issue
Block a user