fix(tradein): confidence «средняя» → amber + FIXME для compsTier (#742) #746
2 changed files with 6 additions and 1 deletions
|
|
@ -53,7 +53,7 @@ const SOURCE_LABELS: Record<string, string> = {
|
|||
|
||||
const CONF_LABELS: Record<string, { txt: string; color: string }> = {
|
||||
high: { txt: "высокая", color: "var(--success)" },
|
||||
medium: { txt: "средняя", color: "var(--success)" },
|
||||
medium: { txt: "средняя", color: "var(--warn)" },
|
||||
low: { txt: "низкая", color: "var(--danger)" },
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,11 @@ const CONTACT_EMAIL = (process.env.NEXT_PUBLIC_TRADEIN_CONTACT_EMAIL ?? "").trim
|
|||
* Null → ничего не показываем (graceful).
|
||||
*/
|
||||
function compsTier(explanation: string | null): string | null {
|
||||
// FIXME: backend should expose structured comps_tier (#695 follow-up).
|
||||
// AggregatedEstimate не отдаёт структурного tier-поля для anchor-уровня
|
||||
// (только AnalogLot.tier для отдельных rosreestr-сделок), поэтому уровень
|
||||
// приходится извлекать substring-эвристикой из прозы confidence_explanation.
|
||||
// Хрупко к переформулировке бэкенда — оставлено как fallback до появления поля.
|
||||
if (!explanation) return null;
|
||||
const t = explanation.toLowerCase();
|
||||
if (t.includes("тот же дом") || t.includes("того же дома") || t.includes("этом же доме"))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue