diff options
Diffstat (limited to 'FrontEnd/src/app/views/common/alert')
-rw-r--r-- | FrontEnd/src/app/views/common/alert/AlertHost.tsx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/FrontEnd/src/app/views/common/alert/AlertHost.tsx b/FrontEnd/src/app/views/common/alert/AlertHost.tsx index c74f18e2..f50e41ad 100644 --- a/FrontEnd/src/app/views/common/alert/AlertHost.tsx +++ b/FrontEnd/src/app/views/common/alert/AlertHost.tsx @@ -22,6 +22,8 @@ export const AutoCloseAlert: React.FC<AutoCloseAlertProps> = (props) => { const { t } = useTranslation(); + const timerTag = React.useRef<number | null>(null); + React.useEffect(() => { const tag = dismissTime === "never" @@ -29,6 +31,7 @@ export const AutoCloseAlert: React.FC<AutoCloseAlertProps> = (props) => { : typeof dismissTime === "number" ? window.setTimeout(props.close, dismissTime) : window.setTimeout(props.close, 5000); + timerTag.current = tag; return () => { if (tag != null) { window.clearTimeout(tag); @@ -40,6 +43,12 @@ export const AutoCloseAlert: React.FC<AutoCloseAlertProps> = (props) => { <Alert className="m-3" variant={alert.type ?? "primary"} + onClick={() => { + const { current: tag } = timerTag; + if (tag != null) { + window.clearTimeout(tag); + } + }} onClose={props.close} dismissible > |