"use client"; // Removida a importação de ManagerLayout, pois a página agora é envolvida pelo ManagerLayout pai (em app/manager/layout.tsx) import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Calendar, Clock, Plus, User } from "lucide-react"; import Link from "next/link"; import React, { useState, useEffect } from "react"; import { usuariosApi } from "@/services/usuariosApi"; import { perfisApi } from "@/services/perfisApi";   import { medicosApi } from "@/services/medicosApi"; export default function ManagerDashboard() { // 🔹 Estados para usuários const [firstUser, setFirstUser] = useState(null); const [loadingUser, setLoadingUser] = useState(true); // 🔹 Estados para médicos const [doctors, setDoctors] = useState([]); const [loadingDoctors, setLoadingDoctors] = useState(true); // REMOVIDO: mockUserProfile e mockMenuItems foram removidos. // Agora, o layout (ManagerLayout em app/manager/layout.tsx) é responsável por fornecer esses dados. // 🔹 Buscar primeiro usuário useEffect(() => { async function fetchFirstUser() { try { // Passo 1: Buscar a lista de papéis/usuários const rolesData = await usuariosApi.listRoles(); if (Array.isArray(rolesData) && rolesData.length > 0) { const firstRole = rolesData[0]; // Passo 2: Usar o user_id do primeiro papel para buscar o perfil completo // NOTE: Esta lógica parece buscar a lista de perfis, não um único perfil por user_id. // Mantendo a estrutura para evitar quebrar a lógica de dados, mas é uma área a ser revisada. const profileData = await perfisApi.list(); // Se list() retorna um array, talvez você queira mapear para encontrar o perfil do firstRole.user_id, mas mantendo o original: setFirstUser(profileData[0]); // Assumindo que o primeiro item é o perfil } } catch (error) { console.error("Erro ao carregar usuário:", error); } finally { setLoadingUser(false); } } fetchFirstUser(); }, []); // 🔹 Buscar 3 primeiros médicos (sem alterações aqui) useEffect(() => { async function fetchDoctors() { try { const data = await medicosApi.list(); if (Array.isArray(data)) { setDoctors(data.slice(0, 3)); } } catch (error) { console.error("Erro ao carregar médicos:", error); } finally { setLoadingDoctors(false); } } fetchDoctors(); }, []); return ( // REMOVIDO: A página agora apenas retorna seu conteúdo, confiando no ManagerLayout em app/manager/layout.tsx para o wrapper.

Dashboard

Bem-vindo ao seu portal de consultas médicas

Relatórios gerenciais
0

Relatórios disponíveis

Gestão de usuários {loadingUser ? (
Carregando usuário...
) : firstUser ? ( <>
{firstUser.full_name || "Sem nome"}

{firstUser.email || "Sem e-mail cadastrado"}

) : (
Nenhum usuário encontrado
)}
Perfil
100%

Dados completos

Ações Rápidas Acesse rapidamente as principais funcionalidades Gestão de Médicos Médicos cadastrados recentemente {loadingDoctors ? (

Carregando médicos...

) : doctors.length === 0 ? (

Nenhum médico cadastrado.

) : (
{doctors.map((doc, index) => (

{doc.full_name || "Sem nome"}

{doc.specialty || "Sem especialidade"}

{doc.active ? "Ativo" : "Inativo"}

))}
)}
); }