diff --git a/src/components/map/naver/dron/DronToast.js b/src/components/map/naver/dron/DronToast.js index 1c99768..76e1fc1 100644 --- a/src/components/map/naver/dron/DronToast.js +++ b/src/components/map/naver/dron/DronToast.js @@ -11,27 +11,37 @@ const DronToast = () => { const dispatch = useDispatch(); const { controlGpList } = useSelector(state => state.controlGpState); + const [toastId, setToastId] = useState(); useEffect(() => { if (controlGpList) { - controlGpList.forEach(gps => { - if (gps.controlWarnCd && gps.controlWarnNotyCd) { - toast.info( - toastRender( - `${gps.objectId} 비정상 상황 알림`, - '경로 상에 비행 구역을 이탈했습니다.' - ), - { - autoClose: 3000, - hideProgressBar: true, - position: toast.POSITION.BOTTOM_RIGHT, - onClick: props => { - handleNotiClick(gps.controlId, gps.objectId); + if (!toastId) { + controlGpList.forEach(gps => { + // console.log("===================================") + // console.log("Warn ==> ", gps.controlWarnCd); + // console.log("Noti ==> ", gps.controlWarnNotyCd); + if (gps.controlWarnCd && gps.controlWarnNotyCd) { + + const id = toast.info( + toastRender( + `${gps.objectId} 비정상 상황 알림`, + `경로 상에 비행 구역을 이탈했습니다.` + ), + { + autoClose: false, + hideProgressBar: true, + position: toast.POSITION.BOTTOM_RIGHT, + onClick: props => { + setToastId(null); + handleNotiClick(gps.controlId, gps.objectId); + } } - } - ) - } - }) + ) + + setToastId(id); + } + }) + } } }, [controlGpList]);