"use client"; import type React from "react"; import { useState, useEffect } from "react"; import { useRouter, usePathname } from "next/navigation"; import Link from "next/link"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Badge } from "@/components/ui/badge"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { Search, Bell, Calendar, Clock, User, LogOut, Menu, X, Home, FileText, ChevronLeft, ChevronRight } from "lucide-react"; interface DoctorData { id: string; name: string; email: string; phone: string; cpf: string; crm: string; specialty: string; department: string; permissions: object; } interface PatientLayoutProps { children: React.ReactNode; } export default function DoctorLayout({ children }: PatientLayoutProps) { const [doctorData, setDoctorData] = useState(null); const [sidebarCollapsed, setSidebarCollapsed] = useState(false); const [showLogoutDialog, setShowLogoutDialog] = useState(false); const router = useRouter(); const pathname = usePathname(); useEffect(() => { const data = localStorage.getItem("doctorData"); if (data) { setDoctorData(JSON.parse(data)); } else { router.push("/doctor/login"); } }, [router]); const handleLogout = () => { setShowLogoutDialog(true); }; const confirmLogout = () => { localStorage.removeItem("doctorData"); setShowLogoutDialog(false); router.push("/"); }; const cancelLogout = () => { setShowLogoutDialog(false); }; const menuItems = [ { href: "#", icon: Home, label: "Dashboard", // Botão para o dashboard do médico }, { href: "#", icon: Calendar, label: "Consultas", // Botão para página de consultas marcadas do médico atual }, { href: "#", icon: Clock, label: "Editor de Laudo", // Botão para página do editor de laudo }, { href: "/doctor/medicos", icon: User, label: "Pacientes", // Botão para a página de visualização de todos os pacientes }, ]; if (!doctorData) { return
Carregando...
; } return (
{/* Sidebar */}
{!sidebarCollapsed && (
Hospital System
)}
{doctorData.name .split(" ") .map((n) => n[0]) .join("")}

{doctorData.name}

{doctorData.specialty}

{/* Main Content */}
{/* Header */}
{/* Page Content */}
{children}
{/* Logout confirmation dialog */} Confirmar Saída Deseja realmente sair do sistema? Você precisará fazer login novamente para acessar sua conta.
); }