Прод-verify #2113 вскрыл: avg_price_per_m2_rub и avg_area_pd приходят с бэкенда СТРОКОЙ («160345», «47.5») — Pydantic v2 сериализует Decimal (ROUND(::numeric)) в строку. Гварды `typeof === "number"` / `Number.isFinite(str)` молча роняли поля: цена конкурента вообще не показывалась, а добавленная в #2113 «Ср. площадь кв.» не рендерилась. - toFiniteNumber(v) — приводит number|string→number|null. - formatPrice использует его (цена снова показывается). - avg_area_pd рендерится через toFiniteNumber. - Типы avg_price_per_m2_rub/avg_area_pd расширены до number|string|null (честно отражает рантайм). Frontend-only, контракт не меняется. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| sentry.client.config.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
| vitest-env.d.ts | ||
| vitest.config.ts | ||
| vitest.setup.ts | ||