diff --git a/packages/app-admin/src/components/Dialogs/DialogsContext.tsx b/packages/app-admin/src/components/Dialogs/DialogsContext.tsx index b73797e98b..8d7bb833e3 100644 --- a/packages/app-admin/src/components/Dialogs/DialogsContext.tsx +++ b/packages/app-admin/src/components/Dialogs/DialogsContext.tsx @@ -75,6 +75,18 @@ export const DialogsProvider = ({ children }: DialogsProviderProps) => { }; const closeDialog = (id: string) => { + const dialog = dialogs.get(id); + + // Call the onClose callback if it exists + if (dialog?.onClose && typeof dialog.onClose === "function") { + try { + dialog.onClose(); + } catch (error) { + // Log error but don't prevent dialog cleanup + console.error("Error in dialog onClose callback:", error); + } + } + setDialogs(dialogs => { const newDialogs = new Map(dialogs); newDialogs.delete(id);