Skip to content

Commit 8ab4bfa

Browse files
authored
Handle calling show() when dialog is already open (#152)
Co-authored-by: Alex Nicholson <alex.n@clove.kitchen>
1 parent 8b0c374 commit 8ab4bfa

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

packages/react-dialog-async/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "react-dialog-async",
33
"description": "A promise-based way to show dialogs in React",
44
"type": "module",
5-
"version": "2.3.1",
5+
"version": "2.3.2",
66
"sideEffects": false,
77
"main": "index.js",
88
"module": "index.esm.js",

packages/react-dialog-async/src/DialogProvider/DialogProvider.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ const DialogProvider = ({
6565
data: unknown,
6666
unmountDelay?: number,
6767
): Promise<unknown> => {
68+
// if already open, do nothing
69+
if (dialogState[id]?.open) return Promise.resolve();
70+
6871
return new Promise((resolve) => {
6972
if (unmountDelayTimeoutRefs.current[id] !== undefined) {
7073
clearTimeout(unmountDelayTimeoutRefs.current[id]);

0 commit comments

Comments
 (0)