//Components import DistributedUptimeMap from "../../DistributedUptime/Details/Components/DistributedUptimeMap"; import Breadcrumbs from "../../../Components/Breadcrumbs"; import { Stack, Typography } from "@mui/material"; import DeviceTicker from "../../DistributedUptime/Details/Components/DeviceTicker"; import DistributedUptimeResponseChart from "../../DistributedUptime/Details/Components/DistributedUptimeResponseChart"; import NextExpectedCheck from "../../DistributedUptime/Details/Components/NextExpectedCheck"; import Footer from "../../DistributedUptime/Details/Components/Footer"; import StatBoxes from "../../DistributedUptime/Details/Components/StatBoxes"; import ControlsHeader from "../../StatusPage/Status/Components/ControlsHeader"; import MonitorTimeFrameHeader from "../../../Components/MonitorTimeFrameHeader"; import GenericFallback from "../../../Components/GenericFallback"; import Dialog from "../../../Components/Dialog"; import SkeletonLayout from "./Components/Skeleton"; import StatBox from "../../../Components/StatBox"; import UptLogo from "../../../assets/icons/upt_logo.png"; import PeopleAltOutlinedIcon from "@mui/icons-material/PeopleAltOutlined"; //Utils import { useTheme } from "@mui/material/styles"; import { useState } from "react"; import { useParams } from "react-router-dom"; import { useSubscribeToDetails } from "../../DistributedUptime/Details/Hooks/useSubscribeToDetails"; import { useStatusPageFetchByUrl } from "./Hooks/useStatusPageFetchByUrl"; import { useStatusPageDelete } from "../../StatusPage/Status/Hooks/useStatusPageDelete"; import { useNavigate } from "react-router-dom"; import { useLocation } from "react-router-dom"; const DistributedUptimeStatus = () => { const { url } = useParams(); const location = useLocation(); const isPublic = location.pathname.startsWith("/status/distributed/public"); // Local State const [dateRange, setDateRange] = useState("day"); const [isDeleteOpen, setIsDeleteOpen] = useState(false); // Utils const theme = useTheme(); const navigate = useNavigate(); const [ statusPageIsLoading, statusPageNetworkError, statusPage, monitorId, isPublished, ] = useStatusPageFetchByUrl({ url, }); const [isLoading, networkError, connectionStatus, monitor, lastUpdateTrigger] = useSubscribeToDetails({ monitorId, dateRange, isPublic, isPublished }); console.log(monitor); const [deleteStatusPage, isDeleting] = useStatusPageDelete(() => { navigate("/distributed-uptime"); }, url); // Constants const BREADCRUMBS = [ { name: "Distributed Uptime", path: "/distributed-uptime" }, { name: "details", path: `/distributed-uptime/${monitorId}` }, { name: "status", path: `` }, ]; let sx = {}; if (isPublic) { sx = { paddingTop: "10vh", paddingRight: "10vw", paddingBottom: "10vh", paddingLeft: "10vw", }; } // Done loading, a status page doesn't exist if (!statusPageIsLoading && typeof statusPage === "undefined") { return ( A status page is not set up. Please contact your administrator ); } // Done loading, a status page exists but is not public if (!statusPageIsLoading && isPublic && statusPage.isPublished === false) { return ( This status page is not public. ); } if (isLoading || statusPageIsLoading) { return ; } if (networkError || statusPageNetworkError) { return ( Network error Please check your connection ); } if ( typeof statusPage === "undefined" || typeof monitor === "undefined" || monitor.totalChecks === 0 ) { return ( There is no check history for this monitor yet. ); } return ( {!isPublic && }