The success path of handleConfirm() never reset the isSubmitting flag, so hide()'s early-return guard (line 209: 'if (isSubmitting) return') kept the modal visible after a successful delete — leaving the user looking at a stuck 'Deleting...' dialog while the card had already been removed by the WebSocket SERIES_DELETED event. Reset isSubmitting and the confirm button text before calling hide(), and capture currentKey into a local before hide() nulls it so the follow-up removeSeries() call receives the right key.
16 KiB
16 KiB