"use client"; import Link from "next/link"; import { useState } from "react"; import { MoreHorizontal, PlusCircle, Search, Eye, Edit, Trash2, } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { mockAppointments, mockProfessionals, } from "@/lib/mocks/appointment-mocks"; const formatDate = (date: string | Date) => { return new Date(date).toLocaleDateString("pt-BR", { day: "2-digit", month: "2-digit", year: "numeric", hour: "2-digit", minute: "2-digit", }); }; const capitalize = (s: string) => s.charAt(0).toUpperCase() + s.slice(1); export default function ConsultasPage() { const [appointments, setAppointments] = useState(mockAppointments); const handleDelete = (appointmentId: string) => { if (window.confirm("Tem certeza que deseja excluir esta consulta?")) { setAppointments((prev) => prev.filter((a) => a.id !== appointmentId)); } }; return (

Gerenciamento de Consultas

Consultas Agendadas Visualize, filtre e gerencie todas as consultas da clínica.
Paciente Médico Status Data e Hora Ações {appointments.map((appointment) => { const professional = mockProfessionals.find( (p) => p.id === appointment.professional ); return ( {appointment.patient} {professional ? professional.name : "Não encontrado"} {capitalize(appointment.status)} {formatDate(appointment.time)} alert(`Visualizando: ${appointment.patient}`) } > Ver alert(`Editando: ${appointment.patient}`)} > Editar handleDelete(appointment.id)} className="text-destructive" > Excluir ); })}
); }