import React from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { api } from "@/utils/api"; import { AddWorker } from "./workers/add-worker"; import { DateTooltip } from "@/components/shared/date-tooltip"; import { Badge } from "@/components/ui/badge"; import { DeleteWorker } from "./workers/delete-worker"; import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { MoreHorizontal, PlusIcon } from "lucide-react"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuLabel, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { ShowNodeData } from "./show-node-data"; import { AddManager } from "./manager/add-manager"; export const ShowNodes = () => { const { data, isLoading } = api.cluster.getNodes.useQuery(); return (
Cluster Add nodes to your cluster
Actions
{isLoading &&
Loading...
} A list of your managers / workers. Hostname Status Role Availability Engine Version Created Actions {data?.map((node) => { const isManager = node.Spec.Role === "manager"; return ( {node.Description.Hostname} {node.Status.State} {node?.Spec?.Role} {node.Spec.Availability} {node?.Description.Engine.EngineVersion} Created{" "} Actions {!node?.ManagerStatus?.Leader && ( )} ); })}
); };