supersam/src/components/UI/CallStatusBadge.jsx

38 lines
1.6 KiB
JavaScript

/**
* @file CallStatusBadge.jsx
* @description Бейдж коммуникационного статуса для строк реестра групп.
* Показывает проблему автодозвона снаружи, не открывая карточку.
* Приоритет сверху вниз — один бейдж наружу.
*/
import React from "react";
// Приоритет: отказ > неверный номер > менеджеру > не нажимает > не дозвонились > слот от робота
export const resolveCallBadge = (g) => {
if (!g) return null;
// 1. Отказ от звонков
if (g.autocall_opt_out) {
return { label: "🚫 отказ от звонков", cls: "bg-[rgba(239,68,68,0.14)] text-[var(--color-danger)]", title: "Клиент отказался от автозвонков" };
}
// 2. Слот от робота (информационный, самый низкий приоритет — показываем если нет проблем)
if (g.deliveryDateSource === "autocall") {
return { label: "🤖 слот от робота", cls: "bg-[rgba(59,130,246,0.14)] text-[var(--color-accent)]", title: "Слот согласован роботом" };
}
return null;
};
export const CallStatusBadge = ({ group }) => {
const badge = resolveCallBadge(group);
if (!badge) return null;
return (
<span
className={`inline-flex items-center whitespace-nowrap rounded-full px-2 py-0.5 text-[10px] font-semibold ${badge.cls}`}
title={badge.title}
>
{badge.label}
</span>
);
};