// Tela: Casos — tickets / suporte const { useState: useStateCasos } = React; function NovoCasoModal({ onClose, onCreate }) { const [assunto, setAssunto] = useStateCasos(''); const [empresa, setEmpresa] = useStateCasos(''); const [prioridade, setPrioridade] = useStateCasos('Média'); const [desc, setDesc] = useStateCasos(''); const toast = useToast(); const PRIOS = ['Baixa', 'Média', 'Alta', 'Crítica']; const PRIO_CLS = { Baixa: 'pill', Média: 'pill-blue', Alta: 'pill-yellow', Crítica: 'pill-pink' }; const valid = assunto.trim().length > 0 && empresa.trim().length > 0; const submit = () => { if (!valid) return; const id = `CASO-${Math.floor(2800+Math.random()*100)}`; const novo = { id, assunto: assunto.trim(), empresa: empresa.trim(), prioridade, status: 'Aberto', atualizado: 'agora mesmo', responsavel: CONTATOS[0], }; if (onCreate) onCreate(novo); toast(`Caso ${id} aberto ✓`); onClose(); }; return (
| ID | Assunto | Empresa | Prioridade | {filter === 'Arquivados' ? 'Último status' : 'Status'} | Responsável | Atualizado | |
|---|---|---|---|---|---|---|---|
| {c.id} | {c.assunto} | {c.empresa} | {c.prioridade} |
{isArquivado ? (
{c.status}
) : (
<>
{ e.stopPropagation(); setStatusPickerFor(statusPickerFor === c.id ? null : c.id); }}
title="Clique para alterar status"
>
{c.status} {ICN.chevron}
{statusPickerFor === c.id && (
|
onOpenContact && onOpenContact(c.responsavel.id)}>
|
{c.atualizado} |
{isArquivado ? (
|