diff --git a/Client/src/Pages/Monitors/Home/actionsMenu.jsx b/Client/src/Pages/Monitors/Home/actionsMenu.jsx
index abb1af243..315f850f4 100644
--- a/Client/src/Pages/Monitors/Home/actionsMenu.jsx
+++ b/Client/src/Pages/Monitors/Home/actionsMenu.jsx
@@ -14,6 +14,7 @@ import {
} from "@mui/material";
import {
deleteUptimeMonitor,
+ pauseUptimeMonitor,
getUptimeMonitorsByTeamId,
} from "../../../Features/UptimeMonitors/uptimeMonitorsSlice";
import Settings from "../../../assets/icons/settings-bold.svg?react";
@@ -26,6 +27,8 @@ const ActionsMenu = ({ monitor, isAdmin, updateCallback }) => {
const dispatch = useDispatch();
const theme = useTheme();
const authState = useSelector((state) => state.auth);
+ const authToken = authState.authToken;
+
const handleRemove = async (event) => {
event.preventDefault();
@@ -44,6 +47,28 @@ const ActionsMenu = ({ monitor, isAdmin, updateCallback }) => {
}
};
+ const handlePause = async (event) => {
+ try {
+ const action = await dispatch(
+ pauseUptimeMonitor({ authToken, monitorId: monitor._id })
+ );
+ if (pauseUptimeMonitor.fulfilled.match(action)) {
+ updateCallback();
+ //window.location.reload();
+ if (monitor?.isActive){
+ createToast({ body: "Monitor paused successfully." });
+ }else{
+ createToast({ body: "Monitor resume successfully." });
+ }
+ } else {
+ throw new Error(action.error.message);
+ }
+ } catch (error) {
+ console.error("Error pausing monitor:", monitor._id, error);
+ createToast({ body: "Failed to pause monitor." });
+ }
+ };
+
const openMenu = (event, id, url) => {
event.preventDefault();
event.stopPropagation();
@@ -155,6 +180,20 @@ const ActionsMenu = ({ monitor, isAdmin, updateCallback }) => {
Clone
)}
+ {isAdmin && (
+
+ )}
{isAdmin && (
- )}
+ )}