import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { useQuery } from "@tanstack/react-query"; import { CreateAgentDialog } from "@/components/agents/CreateAgentDialog"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "@/components/ui/pagination"; import { Plus, Search, Bot, ChevronRight, Loader2 } from "lucide-react"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { listAgents } from "@/lib/api/agents"; export default function Agents() { const navigate = useNavigate(); const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false); const [searchQuery, setSearchQuery] = useState(""); const [debouncedSearch, setDebouncedSearch] = useState(""); const [currentPage, setCurrentPage] = useState(1); const [itemsPerPage, setItemsPerPage] = useState(6); // Debounce search query useEffect(() => { const handler = setTimeout(() => { setDebouncedSearch(searchQuery); setCurrentPage(1); // Reset to first page on search }, 500); return () => { clearTimeout(handler); }; }, [searchQuery]); // Fetch agents from API const { data: agentsData, isLoading, isError, refetch, } = useQuery({ queryKey: ["agents", debouncedSearch, currentPage, itemsPerPage], queryFn: () => listAgents( debouncedSearch || undefined, currentPage, itemsPerPage ), }); const agents = agentsData?.data || []; const totalPages = agentsData?.total_pages || 0; const totalAgents = agentsData?.total || 0; return (
Crie e gerencie agentes de IA com prompts e modelos específicos
{totalAgents} {totalAgents === 1 ? 'agente encontrado' : 'agentes encontrados'}
Página {currentPage} de {totalPages}
)}Erro ao carregar agentes.
Nenhum agente encontrado.
Modelo de IA
{agent.modelo_ia}