"use client" import { useState } from "react" import Link from "next/link" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Plus, Edit, Trash2, Eye, Calendar, Filter } from "lucide-react" import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "@/components/ui/alert-dialog" // Mock data for doctors const mockDoctors = [ { id: 1, nome: "Dr. Carlos Silva", crm: "CRM/SE 12345", especialidade: "Cardiologia", telefone: "(79) 99999-1234", cidade: "Aracaju", estado: "Sergipe", ultimoAtendimento: "15/03/2024 14:30", proximoAtendimento: "20/03/2024 09:00", status: "Ativo", }, { id: 2, nome: "Dra. Maria Santos", crm: "CRM/SE 67890", especialidade: "Pediatria", telefone: "(79) 99888-5678", cidade: "Aracaju", estado: "Sergipe", ultimoAtendimento: "14/03/2024 16:00", proximoAtendimento: "21/03/2024 10:30", status: "Ativo", }, { id: 3, nome: "Dr. João Oliveira", crm: "CRM/SE 11111", especialidade: "Ortopedia", telefone: "(79) 99777-9999", cidade: "São Cristóvão", estado: "Sergipe", ultimoAtendimento: "13/03/2024 11:15", proximoAtendimento: "Nenhum atendimento agendado", status: "Inativo", }, ] export default function MedicosPage() { const [searchTerm, setSearchTerm] = useState("") const [especialidadeFilter, setEspecialidadeFilter] = useState("all") const [statusFilter, setStatusFilter] = useState("all") const [doctors, setDoctors] = useState(mockDoctors) const [deleteDialogOpen, setDeleteDialogOpen] = useState(false) const [doctorToDelete, setDoctorToDelete] = useState(null) const handleDeleteDoctor = (doctorId: number) => { setDoctors(doctors.filter((doctor) => doctor.id !== doctorId)) setDeleteDialogOpen(false) setDoctorToDelete(null) } const openDeleteDialog = (doctorId: number) => { setDoctorToDelete(doctorId) setDeleteDialogOpen(true) } const filteredDoctors = doctors.filter((doctor) => { const matchesSearch = doctor.nome.toLowerCase().includes(searchTerm.toLowerCase()) || doctor.crm.toLowerCase().includes(searchTerm.toLowerCase()) || doctor.telefone.includes(searchTerm) const matchesEspecialidade = especialidadeFilter === "all" || doctor.especialidade === especialidadeFilter const matchesStatus = statusFilter === "all" || doctor.status === statusFilter return matchesSearch && matchesEspecialidade && matchesStatus }) return (

Médicos

Gerencie as informações dos médicos

Especialidade
Status
{filteredDoctors.map((doctor) => ( ))}
Nome CRM Telefone Cidade Estado Último atendimento Próximo atendimento Ações
{doctor.nome.charAt(3)}
{doctor.nome}
{doctor.crm} {doctor.telefone} {doctor.cidade} {doctor.estado} {doctor.ultimoAtendimento} {doctor.proximoAtendimento} Ver detalhes Editar Ver agenda openDeleteDialog(doctor.id)}> Excluir
Confirmar exclusão Tem certeza que deseja excluir este médico? Esta ação não pode ser desfeita. Cancelar doctorToDelete && handleDeleteDoctor(doctorToDelete)} className="bg-red-600 hover:bg-red-700" > Excluir
) }