diff --git a/Client/src/Components/MonitorTable/index.css b/Client/src/Components/MonitorTable/index.css
index 360526fc4..4339f261b 100644
--- a/Client/src/Components/MonitorTable/index.css
+++ b/Client/src/Components/MonitorTable/index.css
@@ -27,29 +27,6 @@
white-space: nowrap;
}
-.host-status {
- width: fit-content;
-}
-
-.host-status-details {
- display: flex;
- align-items: center;
- border: 1px solid var(--env-var-color-4);
- border-radius: var(--env-var-radius-2);
- padding: calc(var(--env-var-spacing-1) / 2);
-}
-
-.host-status-text {
- font-size: var(--env-var-font-size-medium);
- line-height: var(--env-var-font-size-medium);
-}
-.host-status-dot {
- width: 6px;
- height: 6px;
- border-radius: 50%;
- margin-right: calc(var(--env-var-spacing-1) / 2);
-}
-
.monitors .MuiPaper-root:has(table.MuiTable-root) {
box-shadow: none;
border: solid 1px var(--env-var-color-16);
diff --git a/Client/src/Components/MonitorTable/index.jsx b/Client/src/Components/MonitorTable/index.jsx
index 35b7a0fca..57bfd125c 100644
--- a/Client/src/Components/MonitorTable/index.jsx
+++ b/Client/src/Components/MonitorTable/index.jsx
@@ -4,6 +4,7 @@ import ResponseTimeChart from "../Charts/ResponseTimeChart";
import BasicTable from "../BasicTable";
import OpenInNewPage from "../../assets/icons/open-in-new-page.svg?react";
import { useNavigate } from "react-router-dom";
+import StatusLabel from "../StatusLabel";
/**
* Host component.
@@ -34,39 +35,6 @@ const Host = ({ params }) => {
);
};
-/**
- * Status component.
- * This subcomponent receives a params object and displays the status details of a monitor.
- *
- * @component
- * @param {Object} params - An object containing the following properties:
- * @param {string} params.backgroundColor - The background color of the status box.
- * @param {string} params.statusDotColor - The color of the status dot.
- * @param {string} params.status - The status text to display.
- * @returns {React.ElementType} Returns a div element with the host status.
- */
-const Status = ({ params }) => {
- return (
-
-
-
-
- {params.status}
-
-
-
- );
-};
-
/**
* MonitorTable component.
* Takes an array of monitor objects and displays them in a table.
@@ -118,7 +86,7 @@ const MonitorTable = ({ monitors = [] }) => {
handleClick: () => navigate(`/monitors/${monitor._id}`),
data: [
{ id: idx, data: },
- { id: idx + 1, data: },
+ { id: idx + 1, data: },
{ id: idx + 2, data: },
{ id: idx + 3, data: "TODO" },
],
@@ -132,7 +100,6 @@ MonitorTable.propTypes = {
monitors: PropTypes.arrayOf(PropTypes.object).isRequired,
};
-Status.propTypes = { params: PropTypes.object.isRequired };
Host.propTypes = { params: PropTypes.object.isRequired };
export default MonitorTable;
diff --git a/Client/src/Components/StatusLabel/index.css b/Client/src/Components/StatusLabel/index.css
new file mode 100644
index 000000000..3dcb3e004
--- /dev/null
+++ b/Client/src/Components/StatusLabel/index.css
@@ -0,0 +1,22 @@
+.host-status {
+ width: fit-content;
+}
+
+.host-status-details {
+ display: flex;
+ align-items: center;
+ border: 1px solid var(--env-var-color-4);
+ border-radius: var(--env-var-radius-2);
+ padding: calc(var(--env-var-spacing-1) / 2);
+}
+
+.host-status-text {
+ font-size: var(--env-var-font-size-medium);
+ line-height: var(--env-var-font-size-medium);
+}
+.host-status-dot {
+ width: 6px;
+ height: 6px;
+ border-radius: 50%;
+ margin-right: calc(var(--env-var-spacing-1) / 2);
+}
diff --git a/Client/src/Components/StatusLabel/index.jsx b/Client/src/Components/StatusLabel/index.jsx
new file mode 100644
index 000000000..36e405b53
--- /dev/null
+++ b/Client/src/Components/StatusLabel/index.jsx
@@ -0,0 +1,39 @@
+import "./index.css";
+import PropTypes from "prop-types";
+
+/**
+ * Status component.
+ * This subcomponent receives a params object and displays the status details of a monitor.
+ *
+ * @component
+ * @param {Object} params - An object containing the following properties:
+ * @param {string} params.backgroundColor - The background color of the status box.
+ * @param {string} params.statusDotColor - The color of the status dot.
+ * @param {string} params.status - The status text to display.
+ * @returns {React.ElementType} Returns a div element with the host status.
+ */
+const StatusLabel = ({ params }) => {
+ return (
+
+
+
+
+ {params.status}
+
+
+
+ );
+};
+
+export default StatusLabel;
+
+StatusLabel.propTypes = { params: PropTypes.object.isRequired };