"use client"; import { useMemo, useState } from "react"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Select } from "@/components/ui/select"; import type { FleetAgent } from "@/lib/types"; export function AgentsClient({ agents }: { agents: FleetAgent[] }) { const [query, setQuery] = useState(""); const [family, setFamily] = useState(""); const filteredAgents = useMemo(() => { return agents.filter((agent) => { const matchesQuery = query.length === 0 || agent.name.toLowerCase().includes(query.toLowerCase()) || agent.host.toLowerCase().includes(query.toLowerCase()) || agent.role.toLowerCase().includes(query.toLowerCase()); const matchesFamily = family.length === 0 || agent.family === family; return matchesQuery && matchesFamily; }); }, [agents, family, query]); return (
Channels
Tools