diff --git a/Client/src/Pages/StatusPage/StatusPages/Components/StatusPagesTable/index.jsx b/Client/src/Pages/StatusPage/StatusPages/Components/StatusPagesTable/index.jsx
new file mode 100644
index 000000000..6e7988153
--- /dev/null
+++ b/Client/src/Pages/StatusPage/StatusPages/Components/StatusPagesTable/index.jsx
@@ -0,0 +1,85 @@
+import DataTable from "../../../../../Components/Table";
+import { useTheme } from "@emotion/react";
+import { useNavigate } from "react-router-dom";
+import { ColoredLabel } from "../../../../../Components/Label";
+import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward";
+import { Stack, Typography } from "@mui/material";
+const StatusPagesTable = ({ data }) => {
+ const theme = useTheme();
+ const navigate = useNavigate();
+ const headers = [
+ {
+ id: "name",
+ content: "Status page name",
+ render: (row) => {
+ return row.companyName;
+ },
+ },
+ {
+ id: "url",
+ content: "URL",
+ render: (row) => {
+ return (
+
+ {row.url}
+
+
+ );
+ },
+ },
+ {
+ id: "type",
+ content: "Type",
+ render: (row) => {
+ return row.type;
+ },
+ },
+ {
+ id: "status",
+ content: "Status",
+ render: (row) => {
+ return (
+
+ );
+ },
+ },
+ ];
+
+ const handleRowClick = (statusPage) => {
+ if (statusPage.type === "distributed") {
+ navigate(`/status/distributed/${statusPage.url}`);
+ } else if (statusPage.type === "uptime") {
+ navigate(`/status/uptime/${statusPage.url}`);
+ }
+ };
+
+ return (
+ {
+ handleRowClick(row);
+ },
+ }}
+ headers={headers}
+ data={data}
+ />
+ );
+};
+
+export default StatusPagesTable;
diff --git a/Client/src/Pages/StatusPage/StatusPages/index.jsx b/Client/src/Pages/StatusPage/StatusPages/index.jsx
index cf5b83289..8ec741729 100644
--- a/Client/src/Pages/StatusPage/StatusPages/index.jsx
+++ b/Client/src/Pages/StatusPage/StatusPages/index.jsx
@@ -4,6 +4,7 @@ import Breadcrumbs from "../../../Components/Breadcrumbs";
import Fallback from "../../../Components/Fallback";
import MonitorCreateHeader from "../../../Components/MonitorCreateHeader";
import GenericFallback from "../../../Components/GenericFallback";
+import StatusPagesTable from "./Components/StatusPagesTable";
// Utils
import { useTheme } from "@emotion/react";
import { useStatusPagesFetch } from "./Hooks/useStatusPagesFetch";
@@ -32,8 +33,9 @@ const StatusPages = () => {
{
isAdmin={isAdmin}
path="/status/uptime/create"
/>
- {statusPages?.map((statusPage) => {
- return (
- handleStatusPageClick(statusPage)}
- sx={{ cursor: "pointer" }}
- >
- Company Name: {statusPage.companyName}
- Status page URL: {statusPage.url}
- Type: {statusPage.type}
-
- );
- })}
+
);
};