From 6248880d53397a51f8959890a9be869679e7be5b Mon Sep 17 00:00:00 2001 From: lekss361 Date: Sat, 30 May 2026 11:25:41 +0300 Subject: [PATCH] fix(tradein): dedupe last_scraped_at in AggregatedEstimate (fix frontend build) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #688 (analytics) and #689 (transparency) each added last_scraped_at?: string|null to AggregatedEstimate; each PR was internally consistent (tsc green in isolation), but after BOTH merged the field was declared twice → 'Type error: Duplicate identifier last_scraped_at' → next build failed → build-frontend red → deploy skipped (run #535). Remove the second declaration (keep the original at the metadata block); price_trend untouched. tsc --noEmit clean. --- tradein-mvp/frontend/src/types/trade-in.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tradein-mvp/frontend/src/types/trade-in.ts b/tradein-mvp/frontend/src/types/trade-in.ts index 592c00b2..3d083e0c 100644 --- a/tradein-mvp/frontend/src/types/trade-in.ts +++ b/tradein-mvp/frontend/src/types/trade-in.ts @@ -158,12 +158,10 @@ export interface AggregatedEstimate { avito_imv?: AvitoImvSummary | null; dkp_corridor?: DkpCorridor | null; // ── ANALYTICS surface (web-native cards) ── - // price_trend — динамика медианы ₽/м² по месяцам для здания/района - // (PriceTrendCard). null / <2 точек → карточка не рендерится. - // last_scraped_at — ISO datetime последнего скрейпа данных аналитики. - // Оба optional + nullable: старые оценки их не содержат (graceful). + // price_trend — динамика медианы ₽/м² по месяцам для здания/района + // (PriceTrendCard). null / <2 точек → карточка не рендерится. + // last_scraped_at объявлен выше (был дубль #688+#689 → ломал build). price_trend?: PriceTrendPoint[] | null; - last_scraped_at?: string | null; } // ── Stage 4a/4b response types ──