import {LstCard} from "@/components/extendedUI/LstCard"; import {Skeleton} from "@/components/ui/skeleton"; import {Table, TableBody, TableCell, TableHead, TableHeader, TableRow} from "@/components/ui/table"; import {useSessionStore} from "@/lib/store/sessionStore"; import {useModuleStore} from "@/lib/store/useModuleStore"; import {getServers} from "@/utils/querys/servers"; import {useQuery} from "@tanstack/react-query"; import {useRouter} from "@tanstack/react-router"; import {format} from "date-fns"; import UpdateServer from "./UpdateServer"; export type Servers = { server_id?: string; sName?: string; serverDNS?: string; plantToken?: string; idAddress: string; lastUpdated: string; isUpgrading: boolean; }; export default function ServerPage() { const {user, token} = useSessionStore(); const {modules} = useModuleStore(); const router = useRouter(); const {data, isError, error, isLoading} = useQuery(getServers(token ?? "")); const adminModule = modules.filter((n) => n.name === "admin"); const userLevel = user?.roles?.filter((r) => r.module_id === adminModule[0].module_id) || []; if (!adminModule[0]?.roles?.includes(userLevel[0]?.role)) { router.navigate({to: "/"}); } if (isError) { return
{JSON.stringify(error)}
; } return ( Name Server PlantToken IP Address Date Last updated Update Server {isLoading ? ( <> {Array(10) .fill(0) .map((_, i) => ( ))} ) : ( {data?.map((server: Servers) => ( {server.sName} {server.serverDNS} {server.plantToken} {server.idAddress} {format(server.lastUpdated, "MM/dd/yyyy hh:mm")} {window.location.host.split(":")[0] === "localhost" && ( )} ))} )}
); }