diff --git a/Client/src/Pages/Monitors/Details/index.css b/Client/src/Pages/Monitors/Details/index.css
index 528ec1b92..8b1378917 100644
--- a/Client/src/Pages/Monitors/Details/index.css
+++ b/Client/src/Pages/Monitors/Details/index.css
@@ -1,4 +1 @@
-.monitor-details p.MuiTypography-root,
-.monitor-details p.MuiTypography-root span.MuiTypography-root {
- font-size: var(--env-var-font-size-small-plus);
-}
+
diff --git a/Client/src/Pages/Monitors/Details/index.jsx b/Client/src/Pages/Monitors/Details/index.jsx
index 20979d863..4c8eced23 100644
--- a/Client/src/Pages/Monitors/Details/index.jsx
+++ b/Client/src/Pages/Monitors/Details/index.jsx
@@ -27,58 +27,12 @@ import UptimeIcon from "../../../assets/icons/uptime-icon.svg?react";
import ResponseTimeIcon from "../../../assets/icons/response-time-icon.svg?react";
import AverageResponseIcon from "../../../assets/icons/average-response-icon.svg?react";
import IncidentsIcon from "../../../assets/icons/incidents.svg?react";
+import HistoryIcon from "../../../assets/icons/history-icon.svg?react";
import PaginationTable from "./PaginationTable";
import Breadcrumbs from "../../../Components/Breadcrumbs";
import PulseDot from "../../../Components/Animated/PulseDot";
import "./index.css";
-import { ChartBox, IconBox } from "./styled";
-
-const StatBox = ({ title, value }) => {
- const theme = useTheme();
- return (
-
-
- {title}
-
-
- {value}
-
-
- );
-};
-
-StatBox.propTypes = {
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
-};
+import { AlertBox, ChartBox, IconBox } from "./styled";
/**
* Renders a skeleton layout.
@@ -233,7 +187,7 @@ const DetailsPage = ({ isAdmin }) => {
{ name: "details", path: `/monitors/${monitorId}` },
]}
/>
-
+
{
{
slotProps={{
paper: {
sx: {
- py: 4,
- px: 6,
+ mt: theme.spacing(4),
+ py: theme.spacing(2),
+ px: theme.spacing(4),
width: 140,
backgroundColor: theme.palette.background.accent,
},
@@ -376,14 +332,46 @@ const DetailsPage = ({ isAdmin }) => {
)}
+
+
+ up for
+
+ {formatDurationRounded(monitor?.uptimeDuration)}
+
+
+
+ last check
+
+ {formatDurationRounded(monitor?.lastChecked)}
+ ago
+
+
+
+ last response time
+
+ {monitor?.latestResponseTime}
+ ms
+
+
+
-
+
+ Showing statistics for past{" "}
+ {dateRange === "day"
+ ? "24 hours"
+ : dateRange === "week"
+ ? "7 days"
+ : "30 days"}
+ .
+
+
-
- Showing statistics for past{" "}
- {dateRange === "day"
- ? "24 hours"
- : dateRange === "week"
- ? "7 days"
- : "30 days"}
- .
-
@@ -466,117 +445,38 @@ const DetailsPage = ({ isAdmin }) => {
Response Times
+
+ {/* */}
+
+
+
+
+
+
+
+
+ History
+
+
+
-
-
-
-
-
-
- Avg. Response Time{" "}
- (24-hr)
- >
- }
- value={parseFloat(monitor?.avgResponseTime24hours)
- .toFixed(2)
- .replace(/\.?0+$/, "")}
- />
-
- Uptime (24-hr)
- >
- }
- value={`${parseFloat(monitor?.uptime24Hours)
- .toFixed(2)
- .replace(/\.?0+$/, "")}%`}
- />
-
- Uptime (30-day)
- >
- }
- value={`${parseFloat(monitor?.uptime30Days)
- .toFixed(2)
- .replace(/\.?0+$/, "")}%`}
- />
-
-
-
-
- Response Times
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
- History
-
- {/* */}
-
>
)}
diff --git a/Client/src/Pages/Monitors/Details/styled.jsx b/Client/src/Pages/Monitors/Details/styled.jsx
index a5bec8f39..479c82d0e 100644
--- a/Client/src/Pages/Monitors/Details/styled.jsx
+++ b/Client/src/Pages/Monitors/Details/styled.jsx
@@ -13,6 +13,7 @@ export const ChartBox = styled(Box)(({ theme }) => ({
"& h2": {
color: theme.palette.text.secondary,
fontSize: 15,
+ fontWeight: 500,
},
"& p": {
color: theme.palette.text.tertiary,
@@ -59,3 +60,30 @@ export const IconBox = styled(Box)(({ theme }) => ({
},
},
}));
+
+export const AlertBox = styled(Box)(({ theme }) => ({
+ padding: `${theme.spacing(4)} ${theme.spacing(8)}`,
+ minWidth: 200,
+ width: 225,
+ border: 1,
+ borderStyle: "solid",
+ borderColor: theme.palette.border.light,
+ borderRadius: 4,
+ backgroundColor: theme.palette.background.main,
+ "& h2": {
+ fontSize: 13,
+ fontWeight: 500,
+ color: theme.palette.text.secondary,
+ textTransform: "uppercase",
+ },
+ "& p": {
+ fontSize: 18,
+ color: theme.palette.text.primary,
+ marginTop: theme.spacing(2),
+ "& span": {
+ opacity: 0.8,
+ marginLeft: theme.spacing(3),
+ fontSize: 15,
+ },
+ },
+}));
diff --git a/Client/src/assets/icons/history-icon.svg b/Client/src/assets/icons/history-icon.svg
new file mode 100644
index 000000000..7343455ec
--- /dev/null
+++ b/Client/src/assets/icons/history-icon.svg
@@ -0,0 +1,3 @@
+