diff --git a/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/index.jsx b/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/index.jsx index 1940c5543..8a9fdcbe9 100644 --- a/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/index.jsx +++ b/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/index.jsx @@ -7,12 +7,9 @@ import Host from "../Host"; import { StatusLabel } from "../../../../../Components/Label"; import BarChart from "../../../../../Components/Charts/BarChart"; import ActionsMenu from "../ActionsMenu"; -import { useState } from "react"; -import SearchComponent from "../SearchComponent"; -import CircularCount from "../../../../../Components/CircularCount"; + import LoadingSpinner from "../LoadingSpinner"; import UptimeDataTableSkeleton from "./skeleton"; -import { Heading } from "../../../../../Components/Heading"; // Utils import { useTheme } from "@emotion/react"; @@ -20,35 +17,6 @@ import useUtils from "../../Hooks/useUtils"; import { useNavigate } from "react-router-dom"; import PropTypes from "prop-types"; -const MonitorDataTable = ({ shouldRender, isSearching, headers, filteredMonitors }) => { - const theme = useTheme(); - const navigate = useNavigate(); - - if (!shouldRender) return null; - return ( - - - { - navigate(`/uptime/${row.id}`); - }, - emptyView: "No monitors found", - }} - /> - - ); -}; - /** * UptimeDataTable displays a table of uptime monitors with sorting, searching, and action capabilities * @param {Object} props - Component props @@ -78,34 +46,29 @@ const MonitorDataTable = ({ shouldRender, isSearching, headers, filteredMonitors * @param {Function} props.triggerUpdate - Callback to trigger a data refresh * @returns {JSX.Element} Rendered component */ -const UptimeDataTable = (props) => { +const UptimeDataTable = ({ + isAdmin, + isSearching, + setIsLoading, + filteredMonitors, + sort, + setSort, + triggerUpdate, + monitorsAreLoading, +}) => { // Utils - - const { - isAdmin, - setIsLoading, - monitors, - filteredMonitors, - monitorCount, - sort, - setSort, - setSearch, - triggerUpdate, - monitorsAreLoading, - } = props; + const navigate = useNavigate(); const { determineState } = useUtils(); const theme = useTheme(); - const navigate = useNavigate(); // Local state - const [isSearching, setIsSearching] = useState(false); // Handlers const handleSort = (field) => { let order = ""; - if (sort.field !== field) { + if (sort?.field !== field) { order = "desc"; } else { - order = sort.order === "asc" ? "desc" : "asc"; + order = sort?.order === "asc" ? "desc" : "asc"; } setSort({ field, order }); }; @@ -124,10 +87,10 @@ const UptimeDataTable = (props) => { - {sort.order === "asc" ? ( + {sort?.order === "asc" ? ( ) : ( @@ -160,10 +123,10 @@ const UptimeDataTable = (props) => { - {sort.order === "asc" ? ( + {sort?.order === "asc" ? ( ) : ( @@ -210,41 +173,37 @@ const UptimeDataTable = (props) => { ), }, ]; - return ( - - - Uptime monitors - - - - ; + } + + return ( + + + { + navigate(`/uptime/${row.id}`); + }, + emptyView: "No monitors found", + }} /> - ); }; UptimeDataTable.propTypes = { isSearching: PropTypes.bool, - setIsSearching: PropTypes.func, setSort: PropTypes.func, setSearch: PropTypes.func, setIsLoading: PropTypes.func, diff --git a/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/skeleton.jsx b/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/skeleton.jsx index 303eb48c8..e3c4fa2e2 100644 --- a/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/skeleton.jsx +++ b/Client/src/Pages/Uptime/Monitors/Components/UptimeDataTable/skeleton.jsx @@ -1,9 +1,6 @@ import { Skeleton } from "@mui/material"; -import PropTypes from "prop-types"; - -const UptimeDataTableSkeleton = ({ shouldRender }) => { - if (!shouldRender) return null; +const UptimeDataTableSkeleton = () => { return ( { ); }; -UptimeDataTableSkeleton.propTypes = { - shouldRender: PropTypes.bool.isRequired, -}; - export default UptimeDataTableSkeleton;