From 1684c6ed3ecf0884a8752a3c1d7b545521b8d3f4 Mon Sep 17 00:00:00 2001 From: bot-frontend Date: Sun, 31 May 2026 08:21:17 +0000 Subject: [PATCH] =?UTF-8?q?fix(tradein-fe):=20scraper-=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=86=D0=B0=20=D0=BF=D0=B0=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=20=E2=80=94=20scraper-settings=20{settings:[]}=20+=20str?= =?UTF-8?q?ing=20delay=20(#872)=20Co-authored-by:=20bot-frontend=20=20Co-committed-by:=20bot-frontend=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tradein-mvp/frontend/src/app/scrapers/cian/page.tsx | 10 ++++++++-- tradein-mvp/frontend/src/app/scrapers/yandex/page.tsx | 6 +++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tradein-mvp/frontend/src/app/scrapers/cian/page.tsx b/tradein-mvp/frontend/src/app/scrapers/cian/page.tsx index 835b6818..22c4f842 100644 --- a/tradein-mvp/frontend/src/app/scrapers/cian/page.tsx +++ b/tradein-mvp/frontend/src/app/scrapers/cian/page.tsx @@ -88,7 +88,13 @@ function useScraperSettings() { return useQuery({ queryKey: ["scraper-settings"], queryFn: () => - apiFetch("/api/v1/admin/scraper-settings"), + apiFetch<{ settings: ScraperSetting[] }>("/api/v1/admin/scraper-settings").then( + (r) => + (r.settings ?? []).map((s) => ({ + ...s, + request_delay_sec: Number(s.request_delay_sec), + })), + ), staleTime: 30_000, }); } @@ -532,7 +538,7 @@ export default function CianScraperPage() { )} {updateSettingMut.isSuccess && updateSettingMut.data && (
- Delay обновлён: {updateSettingMut.data.request_delay_sec.toFixed(1)} сек{" "} + Delay обновлён: {Number(updateSettingMut.data.request_delay_sec).toFixed(1)} сек{" "} (обновлено {formatTime(updateSettingMut.data.updated_at)})
)} diff --git a/tradein-mvp/frontend/src/app/scrapers/yandex/page.tsx b/tradein-mvp/frontend/src/app/scrapers/yandex/page.tsx index ef9059c9..f4704859 100644 --- a/tradein-mvp/frontend/src/app/scrapers/yandex/page.tsx +++ b/tradein-mvp/frontend/src/app/scrapers/yandex/page.tsx @@ -82,7 +82,11 @@ function useScraperSettings() { queryKey: ["scraper-settings"], queryFn: () => apiFetch<{ settings: ScraperSetting[] }>("/api/v1/admin/scraper-settings").then( - (r) => r.settings, + (r) => + (r.settings ?? []).map((s) => ({ + ...s, + request_delay_sec: Number(s.request_delay_sec), + })), ), refetchInterval: 30_000, });