import { useState } from "react"; import { useQuery } from "react-query"; import api from "../../services/api"; import { Usuario } from "../../types/usuario"; import { UsuarioForm } from "./UsuarioForm"; //import { PencilIcon } from "@heroicons/react/24/outline"; // Importar ícone export function UsuariosPage() { const [formOpen, setFormOpen] = useState(false); const [editingUsuario, setEditingUsuario] = useState(null); const [loading, setLoading] = useState(false); const { data: usuarios, refetch } = useQuery("usuarios", async () => { const response = await api.get("/usuarios"); return response.data; }); const handleSave = async () => { await refetch(); setFormOpen(false); setEditingUsuario(null); }; const handleEditUsuario = async (usuario: Usuario) => { setEditingUsuario(usuario); setFormOpen(true); }; const handleToggleStatus = async (id: string, ativo: boolean) => { try { setLoading(true); await api.patch(`/usuarios/${id}/status`, { ativo: !ativo }); await refetch(); } catch (error) { console.error("Erro ao alterar status:", error); } finally { setLoading(false); } }; const handleEditClick = (usuario: Usuario) => { console.log("Editando usuário:", usuario); // Debug setEditingUsuario(usuario); setFormOpen(true); }; return (

Usuários

{usuarios?.map((usuario: Usuario) => ( ))}
Nome Email Perfil OAB Status Ações
{usuario.nome} {usuario.email} {usuario.perfil.replace("_", " ")} {usuario.oab ? `${usuario.oab}/${usuario.oabUF}` : "-"} {usuario.ativo ? "Ativo" : "Inativo"}
{ setFormOpen(false); setEditingUsuario(null); }} onSave={() => { refetch(); setFormOpen(false); setEditingUsuario(null); }} usuario={editingUsuario} />
); }