mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 19:28:09 +00:00
feat: Add notification timeout
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import { useEffect, useRef } from "react";
|
||||||
import { faXmarkCircle } from "@fortawesome/free-solid-svg-icons";
|
import { faXmarkCircle } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
@@ -13,6 +14,27 @@ const Notification = ({
|
|||||||
notification,
|
notification,
|
||||||
clearNotification,
|
clearNotification,
|
||||||
}: NotificationProps) => {
|
}: NotificationProps) => {
|
||||||
|
const timeout = useRef<number>();
|
||||||
|
|
||||||
|
const handleClearNotification = () => clearNotification(notification.text);
|
||||||
|
|
||||||
|
const setNotifTimeout = () => {
|
||||||
|
timeout.current = window.setTimeout(
|
||||||
|
handleClearNotification,
|
||||||
|
notification.timeoutMs
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const cancelNotifTimeout = () => {
|
||||||
|
clearTimeout(timeout.current);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setNotifTimeout();
|
||||||
|
|
||||||
|
return cancelNotifTimeout;
|
||||||
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={classnames(
|
className={classnames(
|
||||||
|
|||||||
Reference in New Issue
Block a user