Skip to content

Commit 6f9ada5

Browse files
address comments left by @mrubens on #1090 (Fix settings done button with unsaved changes);
1 parent e69f27d commit 6f9ada5

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

webview-ui/src/components/settings/SettingsView.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,16 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone },
217217
const onConfirmDialogResult = useCallback((confirm: boolean) => {
218218
if (confirm) {
219219
setChangeDetected(false)
220-
// Wait for the change detection to be updated
221-
setTimeout(() => {
222-
confirmDialogHandler.current?.()
223-
}, 100)
224220
}
225221
}, [])
226222

223+
useEffect(() => {
224+
if (!isChangeDetected && confirmDialogHandler.current) {
225+
confirmDialogHandler.current();
226+
confirmDialogHandler.current = undefined; // Clear the handler after execution
227+
}
228+
}, [isChangeDetected]);
229+
227230
const handleResetState = () => {
228231
vscode.postMessage({ type: "resetState" })
229232
}

0 commit comments

Comments
 (0)