aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/components/dialog/Dialog.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/components/dialog/Dialog.tsx')
-rw-r--r--FrontEnd/src/components/dialog/Dialog.tsx18
1 files changed, 6 insertions, 12 deletions
diff --git a/FrontEnd/src/components/dialog/Dialog.tsx b/FrontEnd/src/components/dialog/Dialog.tsx
index 2ff7bea8..b1d66704 100644
--- a/FrontEnd/src/components/dialog/Dialog.tsx
+++ b/FrontEnd/src/components/dialog/Dialog.tsx
@@ -5,6 +5,8 @@ import classNames from "classnames";
import { ThemeColor } from "../common";
+import { useCloseDialog } from "./DialogProvider";
+
import "./Dialog.css";
const optionalPortalElement = document.getElementById("portal");
@@ -14,22 +16,20 @@ if (optionalPortalElement == null) {
const portalElement = optionalPortalElement;
interface DialogProps {
- open: boolean;
- onClose: () => void;
color?: ThemeColor;
children?: ReactNode;
disableCloseOnClickOnOverlay?: boolean;
}
export default function Dialog({
- open,
- onClose,
color,
children,
disableCloseOnClickOnOverlay,
}: DialogProps) {
color = color ?? "primary";
+ const closeDialog = useCloseDialog();
+
const nodeRef = useRef(null);
return ReactDOM.createPortal(
@@ -37,7 +37,7 @@ export default function Dialog({
nodeRef={nodeRef}
mountOnEnter
unmountOnExit
- in={open}
+ in
timeout={300}
classNames="cru-dialog"
>
@@ -47,13 +47,7 @@ export default function Dialog({
>
<div
className="cru-dialog-background"
- onClick={
- disableCloseOnClickOnOverlay
- ? undefined
- : () => {
- onClose();
- }
- }
+ onClick={disableCloseOnClickOnOverlay ? undefined : closeDialog}
/>
<div className="cru-dialog-container">{children}</div>
</div>