diff --git a/tradein-mvp/frontend/src/components/trade-in/v2/LocationDrawer.tsx b/tradein-mvp/frontend/src/components/trade-in/v2/LocationDrawer.tsx index 01c3919c..5478a83b 100644 --- a/tradein-mvp/frontend/src/components/trade-in/v2/LocationDrawer.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/v2/LocationDrawer.tsx @@ -271,7 +271,7 @@ export function LocationDrawer({ open, onClose }: LocationDrawerProps) { color: tokens.body2, }} > - Агрегируем объявления (Циан, Я.Недвижимость, Авито, N1.ru) и сделки + Агрегируем объявления (Циан, Я.Недвижимость, Авито, Домклик) и сделки Росреестра по сопоставимым квартирам. Медиана{" "} ₽/м² → 3 оценки:{" "} diff --git a/tradein-mvp/frontend/src/components/trade-in/v2/mappers.ts b/tradein-mvp/frontend/src/components/trade-in/v2/mappers.ts index 8d251a19..d520ed2b 100644 --- a/tradein-mvp/frontend/src/components/trade-in/v2/mappers.ts +++ b/tradein-mvp/frontend/src/components/trade-in/v2/mappers.ts @@ -68,8 +68,8 @@ import type { } from "./types"; import { tokens } from "./tokens"; -// Total number of source slots in the design (ЦИАН … N1.RU) — meta "N / 7". -const TOTAL_SOURCES = 7; +// Total number of source slots — meta "N / M". Single source of truth is +// SOURCE_SLOTS.length (defined with the array below as TOTAL_SOURCES). // ── Composite presentation shapes consumed by the wired components ────────── // One `data` prop per component; each field keeps its exact ./types shape. @@ -479,9 +479,11 @@ const SOURCE_SLOTS: ReadonlyArray<{ name: string; keys: string[] }> = [ { name: "РОСРЕЕСТР", keys: ["rosreestr"] }, { name: "АВИТО", keys: ["avito", "avito_imv"] }, { name: "ДОМКЛИК", keys: ["domklik", "domclick"] }, - { name: "RESTATE", keys: ["restate"] }, - { name: "N1.RU", keys: ["n1", "n1ru"] }, ]; +// #2081 round2: N1.RU + RESTATE dropped — мёртвые (всегда «нет данных», не +// учитываем); Домклик оставлен (живой источник, реально даёт лоты). TOTAL_SOURCES +// = единый счётчик «N / M», чтобы плитки, счётчик и текст не расходились. +const TOTAL_SOURCES = SOURCE_SLOTS.length; function buildSources(e: AggregatedEstimate): SourceCard[] { const counts = new Map(); diff --git a/tradein-mvp/frontend/src/components/trade-in/v2/tokens.ts b/tradein-mvp/frontend/src/components/trade-in/v2/tokens.ts index f937aee4..ab75bc9b 100644 --- a/tradein-mvp/frontend/src/components/trade-in/v2/tokens.ts +++ b/tradein-mvp/frontend/src/components/trade-in/v2/tokens.ts @@ -78,8 +78,8 @@ export const tokens = { // Disabled / no-data source card (02 RESULT · inactive source tile, design lines 366-384) disabledBorder: "#d8e2ec", // inactive source card edge - disabledValue: "#c2cdd9", // greyed-out "—" count value - disabledLabel: "#aab7c5", // greyed-out "нет данных" caption + disabledValue: "#656b71", // 4.61:1 — "—" no-data value (#2081 C1: was #c2cdd9 1.4:1) + disabledLabel: "#636b73", // 4.62:1 — "нет данных" caption (#2081 C1: was #aab7c5 1.7:1) // Accent glow (range-marker dot halo, design lines 303/341) accentGlow: "rgba(46,139,255,.5)",