diff --git a/Client/src/Components/MonitorStatusHeader/ConfigButton/index.jsx b/Client/src/Components/MonitorStatusHeader/ConfigButton/index.jsx index fc6407f31..c966abf33 100644 --- a/Client/src/Components/MonitorStatusHeader/ConfigButton/index.jsx +++ b/Client/src/Components/MonitorStatusHeader/ConfigButton/index.jsx @@ -3,7 +3,7 @@ import { useTheme } from "@emotion/react"; import { useNavigate } from "react-router-dom"; import SettingsIcon from "../../../assets/icons/settings-bold.svg?react"; import PropTypes from "prop-types"; -const ConfigButton = ({ shouldRender, monitorId }) => { +const ConfigButton = ({ shouldRender = true, monitorId, path }) => { const theme = useTheme(); const navigate = useNavigate(); @@ -14,7 +14,7 @@ const ConfigButton = ({ shouldRender, monitorId }) => { + ); + } + + return ( + + + Showing statistics for past{" "} + {dateRange === "day" ? "24 hours" : dateRange === "week" ? "7 days" : "30 days"}. + + {timeFramePicker} ); }; -TimeFramePicker.propTypes = { +MonitorTimeFrameHeader.propTypes = { shouldRender: PropTypes.bool, + hasDateRange: PropTypes.bool, dateRange: PropTypes.string, setDateRange: PropTypes.func, }; -export default TimeFramePicker; +export default MonitorTimeFrameHeader; diff --git a/Client/src/Pages/Uptime/Details/Components/TimeFramePicker/skeleton.jsx b/Client/src/Components/MonitorTimeFrameHeader/skeleton.jsx similarity index 100% rename from Client/src/Pages/Uptime/Details/Components/TimeFramePicker/skeleton.jsx rename to Client/src/Components/MonitorTimeFrameHeader/skeleton.jsx diff --git a/Client/src/Pages/PageSpeed/Details/Components/EmptyView/index.jsx b/Client/src/Pages/PageSpeed/Details/Components/EmptyView/index.jsx deleted file mode 100644 index e69de29bb..000000000 diff --git a/Client/src/Pages/PageSpeed/Details/index.jsx b/Client/src/Pages/PageSpeed/Details/index.jsx index 6fa4aa82c..c52c1c817 100644 --- a/Client/src/Pages/PageSpeed/Details/index.jsx +++ b/Client/src/Pages/PageSpeed/Details/index.jsx @@ -1,10 +1,12 @@ // Components -import { Stack, Typography, Skeleton } from "@mui/material"; +import { Stack, Typography } from "@mui/material"; import Breadcrumbs from "../../../Components/Breadcrumbs"; +import MonitorTimeFrameHeader from "../../../Components/MonitorTimeFrameHeader"; import MonitorStatusHeader from "../../../Components/MonitorStatusHeader"; import PageSpeedStatusBoxes from "./Components/PageSpeedStatusBoxes"; import PageSpeedAreaChart from "./Components/PageSpeedAreaChart"; import PerformanceReport from "./Components/PerformanceReport"; +import GenericFallback from "../../../Components/GenericFallback"; // Utils import { useTheme } from "@emotion/react"; import { useIsAdmin } from "../../../Hooks/useIsAdmin"; @@ -41,10 +43,28 @@ const PageSpeedDetails = () => { setMetrics((prev) => ({ ...prev, [id]: !prev[id] })); }; + // Empty view, displayed when loading is complete and there are no checks + if (!isLoading && monitor?.checks?.length === 0) { + return ( + + + + + There is no history for this monitor yet. + + + ); + } + return ( { shouldRender={!isLoading} monitor={monitor} /> - - Showing statistics for past 24 hours. - + + { { monitor={monitor} certificateExpiry={certificateExpiry} /> -