"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 SecretaryData { id: string, name: string, email: string, phone: string, cpf: string, employeeId: string, department: string, permissions: object, } interface PatientLayoutProps { children: React.ReactNode } export default function SecretaryLayout({ children }: PatientLayoutProps) { const [secretaryData, setSecretaryData] = useState(null) const [sidebarCollapsed, setSidebarCollapsed] = useState(false) const [showLogoutDialog, setShowLogoutDialog] = useState(false) const router = useRouter() const pathname = usePathname() useEffect(() => { const data = localStorage.getItem("secretaryData") if (data) { setSecretaryData(JSON.parse(data)) } else { router.push("/patient/login") } }, [router]) const handleLogout = () => { setShowLogoutDialog(true) } const confirmLogout = () => { localStorage.removeItem("secretaryData") setShowLogoutDialog(false) router.push("/") } const cancelLogout = () => { setShowLogoutDialog(false) } const menuItems = [ { href: "#", icon: Home, label: "Dashboard", // Botão para o dashboard da secretária }, { href: "#", icon: Calendar, label: "Consultas", // Botão para página de consultas marcadas }, { href: "#", icon: Clock, label: "Agendar Consulta", // Botão para página de agendamento da consulta para o paciente }, { href: "/secretary/pacientes", icon: User, label: "Pacientes", // Botão para a página de visualização de todos os pacientes }, ] if (!secretaryData) { return
Carregando...
} return (
{/* Sidebar */}
{!sidebarCollapsed && (
Hospital System
)}
{secretaryData.name .split(" ") .map((n) => n[0]) .join("")}

{secretaryData.name}

{secretaryData.email}

{/* 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.
) }