AcciónSetsResets (side effects)
openNewDealForm()
isFormOpen: true, formMode: 'create'
—
selectDeal(deal|null)
selectedDeal, isPanelOpen: true, messages, notes, activities
⚠ isFormOpen: false, formMode: null, formData: null
setActiveFilter(stage)
activeFilters.stage
⚠ stats: null (fuerza refetch), selectedDeal: null, isPanelOpen: false
assignOwner(userId)
assigningOwner: userId
—
confirmAssignOwner()
selectedDeal.ownerId, assigningOwner: null
⚠ isPanelOpen: false (cierra panel sin aviso)
saveDeal(data)
deals[id] actualizado
—
closePanel()
isPanelOpen: false, selectedDeal: null
—
resetAll()
estado inicial completo
TODO el estado
⚡ Resets peligrosos detectados
selectDeal() resetea isFormOpen → false y formData → null (no es su responsabilidad)
setActiveFilter() resetea selectedDeal → null y isPanelOpen → false sin animación de cierre
confirmAssignOwner() cierra isPanelOpen → false silenciosamente como side effect