From 14c81dd5ac4a03eefd55c0b49e169b595ad5280a Mon Sep 17 00:00:00 2001 From: Light1YT Date: Fri, 22 May 2026 14:16:30 +0500 Subject: [PATCH] =?UTF-8?q?fix(tradein):=20N1.ru=20=E2=80=94=20=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BD=D1=8B=D0=B9=20=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=83=D1=81=20=D0=B8=D1=81=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=85=D0=B0?= =?UTF-8?q?=D1=80=D0=B4=D0=BA=D0=BE=D0=B4-timeout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SourcesProgress хардкодил N1.ru как error («timeout — нет ответа») при готовой оценке — строка никогда не сверялась с sources_used. Но N1 — реальный рабочий источник (224 объявления на проде), и при вкладе в оценку он показывался красным крестом-ошибкой. Теперь строка N1 ведёт себя как cian/avito/yandex: done + счётчик лотов, если источник в sources_used, иначе loading/idle. --- .../src/components/trade-in/SourcesProgress.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tradein-mvp/frontend/src/components/trade-in/SourcesProgress.tsx b/tradein-mvp/frontend/src/components/trade-in/SourcesProgress.tsx index 2529acca..49bc6e91 100644 --- a/tradein-mvp/frontend/src/components/trade-in/SourcesProgress.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/SourcesProgress.tsx @@ -3,10 +3,9 @@ /** * SourcesProgress — карточка «Шаг B · Агрегация» под mockup tradein.html. * - * Показывает статус 7 источников (Циан, Авито Оценка, ДомКлик Прайс, Я.Недвижимость, - * Restate, N1.ru, Дом.РФ, Росреестр (внутр.)). Сейчас у нас реально работают 3: - * Avito + Cian + Yandex. Остальные показываем как timeout / pending для соответствия - * макету. + * Показывает статус 7 строк-источников. Реально работают 4: Cian + Avito + + * Yandex + N1. ДомКлик и Restate пока не реализованы — показываем idle для + * соответствия макету. */ import type { AggregatedEstimate } from "@/types/trade-in"; @@ -84,8 +83,9 @@ export function SourcesProgress({ estimate, isPending }: Props) { key: "n1", label: "N1.ru", dotClass: "n1", - // Если pending — loading; если готово — error (timeout); иначе idle (не запускали) - status: isPending ? "loading" : (isDone ? "error" : "idle"), + status: used.has("n1") ? "done" : (isPending ? "loading" : "idle"), + count: countBySource.n1, + median: used.has("n1") ? estimate?.median_price_rub : undefined, }, { key: "rosreestr", -- 2.45.3