From 336ffa759bf9f1b9de231e1eb43ca9bdfdbcde2c Mon Sep 17 00:00:00 2001 From: Froidefond Julien Date: Fri, 27 Mar 2026 13:11:05 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20rafra=C3=AEchir=20la=20liste=20des=20t?= =?UTF-8?q?=C3=A9l=C3=A9chargements=20disponibles=20c=C3=B4t=C3=A9=20clien?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La section "available downloads" n'était jamais mise à jour après le chargement initial car seuls les torrent downloads étaient rafraîchis. Stocke latestFound en state React et le rafraîchit en parallèle. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../app/(app)/downloads/DownloadsPage.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/backoffice/app/(app)/downloads/DownloadsPage.tsx b/apps/backoffice/app/(app)/downloads/DownloadsPage.tsx index aba41a0..bf9deb7 100644 --- a/apps/backoffice/app/(app)/downloads/DownloadsPage.tsx +++ b/apps/backoffice/app/(app)/downloads/DownloadsPage.tsx @@ -73,6 +73,7 @@ const PAGE_SIZE = 10; export function DownloadsPage({ initialDownloads, initialLatestFound, qbConfigured }: DownloadsPageProps) { const { t } = useTranslation(); const [downloads, setDownloads] = useState(initialDownloads); + const [latestFound, setLatestFound] = useState(initialLatestFound); const [filter, setFilter] = useState("all"); const [isRefreshing, setIsRefreshing] = useState(false); const [page, setPage] = useState(1); @@ -80,8 +81,12 @@ export function DownloadsPage({ initialDownloads, initialLatestFound, qbConfigur const refresh = useCallback(async (showSpinner = true) => { if (showSpinner) setIsRefreshing(true); try { - const resp = await fetch("/api/torrent-downloads"); - if (resp.ok) setDownloads(await resp.json()); + const [dlResp, lfResp] = await Promise.all([ + fetch("/api/torrent-downloads"), + fetch("/api/download-detection/latest-found"), + ]); + if (dlResp.ok) setDownloads(await dlResp.json()); + if (lfResp.ok) setLatestFound(await lfResp.json()); } finally { if (showSpinner) setIsRefreshing(false); } @@ -184,7 +189,7 @@ export function DownloadsPage({ initialDownloads, initialLatestFound, qbConfigur )} {/* Available downloads from latest detection */} - {initialLatestFound.length > 0 && ( + {latestFound.length > 0 && ( refresh(false)}>

@@ -192,7 +197,7 @@ export function DownloadsPage({ initialDownloads, initialLatestFound, qbConfigur {t("downloads.availableTitle")}

- {initialLatestFound.map(lib => ( + {latestFound.map(lib => ( ))}