import { Link } from "react-router-dom"; import { useState, useEffect } from "react"; import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; import ServerCard from "@mcl/components/servers/ServerCard.jsx"; import RconDialog, { useRconDialog, } from "@mcl/components/servers/RconDialog.jsx"; import Overview from "@mcl/components/overview/Overview.jsx"; import Button from "@mui/material/Button"; import SpeedDialIcon from "@mui/material/SpeedDialIcon"; import "@mcl/css/server-card.css"; import "@mcl/css/overview.css"; import { useServerInstances } from "@mcl/queries"; export default function Home() { const [server, setServer] = useState(); const [servers, setServers] = useState([]); const [rdOpen, rconToggle] = useRconDialog(); const { isLoading, data: serversData } = useServerInstances(); const { servers: serverInstances, clusterMetrics } = serversData ?? {}; useEffect(() => { if (!serverInstances) return; serverInstances.sort((a, b) => a.name.localeCompare(b.name)); setServers(serverInstances); }, [serverInstances]); const openRcon = (s) => () => { setServer(s); rconToggle(); }; return ( {isLoading && ( Loading Server Information... )} {!isLoading && servers.length === 0 && ( No servers found! )} {!isLoading && servers.map((s, k) => ( ))} ); }