"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, Home, 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 [sidebarCollapsed, setSidebarCollapsed] = useState(false) const [showLogoutDialog, setShowLogoutDialog] = useState(false) const router = useRouter() const pathname = usePathname() // 🔹 Colapsar no mobile e expandir no desktop automaticamente useEffect(() => { const handleResize = () => { if (window.innerWidth < 1024) { setSidebarCollapsed(true) } else { setSidebarCollapsed(false) } } handleResize() window.addEventListener("resize", handleResize) return () => window.removeEventListener("resize", handleResize) }, []) const handleLogout = () => setShowLogoutDialog(true) const confirmLogout = () => { setShowLogoutDialog(false) router.push("/") } const cancelLogout = () => setShowLogoutDialog(false) const menuItems = [ { href: "##", icon: Home, label: "Dashboard" }, { href: "/secretary/appointments", icon: Calendar, label: "Consultas" }, { href: "/secretary/schedule", icon: Clock, label: "Agendar Consulta" }, { href: "/secretary/pacientes", icon: User, label: "Pacientes" }, ] const secretaryData: SecretaryData = { id: "1", name: "Secretária Exemplo", email: "secretaria@hospital.com", phone: "999999999", cpf: "000.000.000-00", employeeId: "12345", department: "Atendimento", permissions: {}, } return (
{/* Sidebar */}
{!sidebarCollapsed && (
MedConnect
)}
{secretaryData.name .split(" ") .map((n) => n[0]) .join("")} {!sidebarCollapsed && (

{secretaryData.name}

{secretaryData.email}

)}
{/* Botão Sair - ajustado para responsividade */}
{/* Main Content */}
{/* Header */}
{/* Este botão no header parece ter sido uma cópia do botão "Sair" da sidebar. Removi a lógica de sidebarCollapsed aqui, pois o header é independente. Se a intenção era ter um botão de logout no header, ele não deve ser afetado pela sidebar. Ajustei para ser um botão de sino de notificação, como nos exemplos anteriores, já que você tem o ícone Bell importado e uma badge para notificação. Se você quer um botão de LogOut aqui, por favor, me avise! */}
{/* Page Content */}
{children}
{/* Logout confirmation dialog */} Confirmar Saída Deseja realmente sair do sistema? Você precisará fazer login novamente para acessar sua conta.
) }