diff --git a/src/pages/Agents.tsx b/src/pages/Agents.tsx index c5c3095..65797eb 100644 --- a/src/pages/Agents.tsx +++ b/src/pages/Agents.tsx @@ -5,12 +5,23 @@ 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 } from "lucide-react"; export default function Agents() { const navigate = useNavigate(); const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false); const [searchQuery, setSearchQuery] = useState(""); + const [currentPage, setCurrentPage] = useState(1); + const itemsPerPage = 9; const [agents] = useState([ { @@ -43,6 +54,18 @@ export default function Agents() { agent.name.toLowerCase().includes(searchQuery.toLowerCase()) ); + // Paginação + const totalPages = Math.ceil(filteredAgents.length / itemsPerPage); + const startIndex = (currentPage - 1) * itemsPerPage; + const endIndex = startIndex + itemsPerPage; + const paginatedAgents = filteredAgents.slice(startIndex, endIndex); + + // Reset para primeira página quando buscar + const handleSearch = (query: string) => { + setSearchQuery(query); + setCurrentPage(1); + }; + return (
- {filteredAgents.length} {filteredAgents.length === 1 ? 'agente encontrado' : 'agentes encontrados'} -
++ {filteredAgents.length} {filteredAgents.length === 1 ? 'agente encontrado' : 'agentes encontrados'} +
+ {totalPages > 1 && ( ++ Página {currentPage} de {totalPages} +
+ )} +Nenhum agente encontrado.
) : ( -