diff --git a/src/modules/registratura/components/deadline-resolve-dialog.tsx b/src/modules/registratura/components/deadline-resolve-dialog.tsx index bf93dd6..0208a4b 100644 --- a/src/modules/registratura/components/deadline-resolve-dialog.tsx +++ b/src/modules/registratura/components/deadline-resolve-dialog.tsx @@ -30,9 +30,7 @@ export function DeadlineResolveDialog({ open, deadline, onOpenChange, onResolve const [resolution, setResolution] = useState('completed'); const [note, setNote] = useState(''); - if (!deadline) return null; - - const def = getDeadlineType(deadline.typeId); + const def = deadline ? getDeadlineType(deadline.typeId) : undefined; // "intrerupt" option only for avize deadlines that have a chain (interruption mechanism) const filteredOptions = useMemo(() => { @@ -45,6 +43,8 @@ export function DeadlineResolveDialog({ open, deadline, onOpenChange, onResolve // eslint-disable-next-line react-hooks/exhaustive-deps }, [def?.chainNextTypeId, def?.category]); + if (!deadline) return null; + // Chain fires on completed, aprobat-tacit, or intrerupt (for avize interruption) const hasChain = def?.chainNextTypeId && ( resolution === 'completed' || resolution === 'aprobat-tacit' || resolution === 'intrerupt'