diff --git a/packages/frontend/component/src/ui/modal/confirm-modal.stories.tsx b/packages/frontend/component/src/ui/modal/confirm-modal.stories.tsx
index f3b58e5b9c..80ce8b2333 100644
--- a/packages/frontend/component/src/ui/modal/confirm-modal.stories.tsx
+++ b/packages/frontend/component/src/ui/modal/confirm-modal.stories.tsx
@@ -36,3 +36,24 @@ export const UsingHook = () => {
return ;
};
+
+export const AutoClose = () => {
+ const { openConfirmModal } = useConfirmModal();
+
+ const onConfirm = () => {
+ openConfirmModal({
+ cancelText: 'Cancel',
+ confirmButtonOptions: {
+ children: 'Confirm',
+ },
+ title: 'Confirm Modal',
+ children: 'Are you sure you want to confirm?',
+ onConfirm: () => console.log('Confirmed'),
+ onCancel: () => {
+ console.log('Cancelled');
+ },
+ });
+ };
+
+ return ;
+};
diff --git a/packages/frontend/component/src/ui/modal/confirm-modal.tsx b/packages/frontend/component/src/ui/modal/confirm-modal.tsx
index 6ef27bbf2b..8d28583a2a 100644
--- a/packages/frontend/component/src/ui/modal/confirm-modal.tsx
+++ b/packages/frontend/component/src/ui/modal/confirm-modal.tsx
@@ -104,8 +104,8 @@ export const ConfirmModalProvider = ({ children }: PropsWithChildren) => {
const onConfirm = () => {
setLoading(true);
- _onConfirm?.()
- ?.then(() => onSuccess?.())
+ return Promise.resolve(_onConfirm?.())
+ .then(() => onSuccess?.())
.catch(console.error)
.finally(() => autoClose && closeConfirmModal());
};