diff --git a/web/packages/shared/hooks/useAttemptNext.ts b/web/packages/shared/hooks/useAttemptNext.ts index 5d17b61ecb1..6f7b24e72a2 100644 --- a/web/packages/shared/hooks/useAttemptNext.ts +++ b/web/packages/shared/hooks/useAttemptNext.ts @@ -36,12 +36,15 @@ export default function useAttemptNext(status = '' as Attempt['status']) { return fn() .then(() => { setAttempt({ status: 'success' }); + return true; }) .catch(err => { handleError(err); + return false; }); } catch (err) { handleError(err); + return Promise.resolve(false); } } diff --git a/web/packages/teleport/src/Apps/AddApp/AddApp.story.tsx b/web/packages/teleport/src/Apps/AddApp/AddApp.story.tsx index ad186b43fb8..ac7bafc36cb 100644 --- a/web/packages/teleport/src/Apps/AddApp/AddApp.story.tsx +++ b/web/packages/teleport/src/Apps/AddApp/AddApp.story.tsx @@ -53,7 +53,7 @@ const sample = { user: 'sam', automatic: true, setAutomatic: () => null, - createToken: () => Promise.resolve(), + createToken: () => Promise.resolve(true), onClose() { return null; }, diff --git a/web/packages/teleport/src/Roles/DeleteRole/DeleteRole.tsx b/web/packages/teleport/src/Roles/DeleteRole/DeleteRole.tsx index 354a8aba8f5..cf8ce259672 100644 --- a/web/packages/teleport/src/Roles/DeleteRole/DeleteRole.tsx +++ b/web/packages/teleport/src/Roles/DeleteRole/DeleteRole.tsx @@ -26,7 +26,7 @@ export default function DeleteRoleDialog(props: Props) { const isDisabled = attempt.status === 'processing'; function onOk() { - run(() => onDelete()).then(() => onClose()); + run(() => onDelete()).then(ok => ok && onClose()); } return (