"use client"; import type { ParcelSuccessRecommendation, SuccessRankingBucket, } from "@/types/site-finder"; interface Props { recommendation: ParcelSuccessRecommendation | null | undefined; } function successColor(score: number): string { if (score > 0.5) return "var(--success)"; if (score >= 0) return "var(--warn)"; return "var(--fg-tertiary)"; } function successBg(score: number): string { if (score > 0.5) return "var(--success-soft)"; if (score >= 0) return "var(--warn-soft)"; return "var(--bg-card-alt)"; } function formatPrice(v: number | null): string { if (v == null) return "—"; return (v / 1000).toFixed(0) + " тыс"; } function formatArea(v: number | null): string { if (v == null) return "—"; return v.toFixed(0) + " м²"; } function SuccessBadge({ bucket }: { bucket: SuccessRankingBucket }) { const color = successColor(bucket.success_score); const bg = successBg(bucket.success_score); return (
| {h} | ))}||||
|---|---|---|---|---|
| {isTop ? "* " : ""} {row.bucket} | {row.n_deals} | {formatPrice(row.avg_price_per_m2)} | {formatArea(row.avg_area_m2)} |
|