diff --git a/src/components/tickets/new-ticket-dialog.tsx b/src/components/tickets/new-ticket-dialog.tsx index 6c8b5ca..70d3bbe 100644 --- a/src/components/tickets/new-ticket-dialog.tsx +++ b/src/components/tickets/new-ticket-dialog.tsx @@ -548,6 +548,21 @@ export function NewTicketDialog({ } }, [open, queues, form]) + // Limpar templates de checklist incompatíveis quando a empresa muda + useEffect(() => { + if (!open) return + if (!checklistTemplates) return + if (appliedChecklistTemplateIds.length === 0) return + + const validTemplateIds = new Set(checklistTemplates.map((tpl) => String(tpl.id))) + const invalidIds = appliedChecklistTemplateIds.filter((id) => !validTemplateIds.has(id)) + + if (invalidIds.length > 0) { + setAppliedChecklistTemplateIds((prev) => prev.filter((id) => validTemplateIds.has(id))) + setChecklistTemplateToApply("") + } + }, [open, companyValue, checklistTemplates, appliedChecklistTemplateIds]) + const handleCategoryChange = (value: string) => { const previous = form.getValues("categoryId") ?? "" const next = value ?? "" @@ -1352,7 +1367,7 @@ export function NewTicketDialog({

- Checklist (opcional) + Checklist

Itens obrigatórios bloqueiam o encerramento do ticket até serem concluídos.