diff --git a/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/SystemSignatures.tsx b/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/SystemSignatures.tsx index 5656cfe3..78c3f9c7 100644 --- a/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/SystemSignatures.tsx +++ b/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/SystemSignatures.tsx @@ -62,8 +62,11 @@ function useSignatureUndo( // determine timeout from settings const timeoutMs = getDeletionTimeoutMs(settings); + + // Ensure a minimum of 1 second for immediate deletion so the UI shows + const effectiveTimeoutMs = timeoutMs === 0 ? 1000 : timeoutMs; - setCountdown(Math.ceil(timeoutMs / 1000)); + setCountdown(Math.ceil(effectiveTimeoutMs / 1000)); // start new interval intervalRef.current = window.setInterval(() => { diff --git a/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts b/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts index b25ca016..98783a11 100644 --- a/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts +++ b/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts @@ -76,15 +76,10 @@ export const useSystemSignaturesData = ({ if (removed.length > 0) { await processRemovedSignatures(removed, added, updated); - // Only show pending deletions if: - // 1. Lazy deletion is enabled AND - // 2. Deletion timing is not immediate (> 0) + // Show pending deletions if lazy deletion is enabled + // The deletion timing controls how long the countdown lasts, not whether lazy delete is active if (onSignatureDeleted && lazyDeleteValue) { - const timeoutMs = getDeletionTimeoutMs(settings); - - if (timeoutMs > 0) { - onSignatureDeleted(removed); - } + onSignatureDeleted(removed); } }