/* global React */
// ============ CHANNEL ICONS ============
// Original glyphs inspired by recognizable channel marks — not branded UI clones.
const ChIcon = ({ channel, size = "md" }) => {
const inner = {
whatsapp: (
),
call: (
),
web: (
),
messenger: (
),
instagram: (
),
email: (
),
};
return (
{inner[channel]}
);
};
// ============ SIDEBAR NAV ICONS ============
const NavIcon = ({ name }) => {
const map = {
inbox: ,
pending: <>>,
resolved: ,
kb: <>>,
metrics: <>>,
escal: <>>,
settings: <>>,
filter: ,
arrow: ,
alert: <>>,
routes: <>>,
bolt: ,
user: <>>,
truck: <>>,
wrench: ,
bookmark: ,
rotate: <>>,
history: <>>,
};
return (
);
};
// ============ Channel meta ============
const CHANNELS = [
{ id: "whatsapp", label: "WhatsApp", color: "#25D366" },
{ id: "call", label: "Llamadas", color: "#FF7A29" },
{ id: "web", label: "Web Chat", color: "#4DA3FF" },
{ id: "email", label: "Correo", color: "#B8B8B8" },
];
// ============ BADGE ============
const StateBadge = ({ state }) => {
const meta = {
auto: { label: "Auto · SOF.IA", cls: "auto" },
progress: { label: "En curso", cls: "progress" },
escalated: { label: "Requiere operador", cls: "escalated" },
resolved: { label: "Resuelto", cls: "resolved" },
waiting: { label: "Esperando cliente", cls: "progress" },
}[state];
return (
{meta.label}
);
};
Object.assign(window, { ChIcon, NavIcon, CHANNELS, StateBadge });