diff --git a/client/src/Pages/Uptime/Configure/index.jsx b/client/src/Pages/Uptime/Configure/index.jsx index d52780eea..3586e61b4 100644 --- a/client/src/Pages/Uptime/Configure/index.jsx +++ b/client/src/Pages/Uptime/Configure/index.jsx @@ -34,6 +34,9 @@ import SkeletonLayout from "./skeleton"; import "./index.css"; import Dialog from "../../../Components/Dialog"; import NotificationIntegrationModal from "../../../Components/NotificationIntegrationModal/Components/NotificationIntegrationModal"; +import { usePauseMonitor } from "../../../Hooks/useMonitorControls"; +import PauseOutlinedIcon from "@mui/icons-material/PauseOutlined"; +import PlayArrowOutlinedIcon from "@mui/icons-material/PlayArrowOutlined"; /** * Parses a URL string and returns a URL object. @@ -83,13 +86,22 @@ const Configure = () => { include: "ok", }; + const [trigger, setTrigger] = useState(false); + const triggerUpdate = () => { + setTrigger(!trigger); + }; + const [pauseMonitor, isPausing, error] = usePauseMonitor({ + monitorId: monitor?._id, + triggerUpdate, + }); + useEffect(() => { const fetchMonitor = async () => { try { const action = await dispatch(getUptimeMonitorById({ monitorId })); - if (getUptimeMonitorById.fulfilled.match(action)) { const monitor = action.payload.data; + console.log("Monitor fetched: ", monitor); setMonitor(monitor); } else if (getUptimeMonitorById.rejected.match(action)) { throw new Error(action.error.message); @@ -100,7 +112,7 @@ const Configure = () => { } }; fetchMonitor(); - }, [monitorId, navigate]); + }, [monitorId, navigate, trigger]); const handleChange = (event, name) => { let { checked, value, id } = event.target; @@ -257,7 +269,7 @@ const Configure = () => { gap={theme.spacing(2)} > { }} > - + { +