"use client" import type React from "react" import { useState } from "react" // Importações de componentes omitidas para brevidade, mas estão no código original import PatientLayout from "@/components/patient-layout" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Textarea } from "@/components/ui/textarea" import { Calendar, Clock, User } from "lucide-react" // Chave do LocalStorage, a mesma usada em secretarypage.tsx const APPOINTMENTS_STORAGE_KEY = "clinic-appointments"; export default function ScheduleAppointment() { const [selectedDoctor, setSelectedDoctor] = useState("") const [selectedDate, setSelectedDate] = useState("") const [selectedTime, setSelectedTime] = useState("") const [notes, setNotes] = useState("") const doctors = [ { id: "1", name: "Dr. João Silva", specialty: "Cardiologia" }, { id: "2", name: "Dra. Maria Santos", specialty: "Dermatologia" }, { id: "3", name: "Dr. Pedro Costa", specialty: "Ortopedia" }, { id: "4", name: "Dra. Ana Lima", specialty: "Ginecologia" }, ] const availableTimes = [ "08:00", "08:30", "09:00", "09:30", "10:00", "10:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", ] const handleSubmit = (e: React.FormEvent) => { e.preventDefault() const doctorDetails = doctors.find((d) => d.id === selectedDoctor) // --- SIMULAÇÃO DO PACIENTE LOGADO --- // Você só tem um usuário para cada role. Vamos simular um paciente: const patientDetails = { id: "P001", full_name: "Paciente Exemplo Único", // Este nome aparecerá na agenda do médico location: "Clínica Geral", phone: "(11) 98765-4321" }; if (!patientDetails || !doctorDetails) { alert("Erro: Selecione o médico ou dados do paciente indisponíveis."); return; } const newAppointment = { id: new Date().getTime(), // ID único simples patientName: patientDetails.full_name, doctor: doctorDetails.name, // Nome completo do médico (necessário para a listagem) specialty: doctorDetails.specialty, date: selectedDate, time: selectedTime, status: "agendada", phone: patientDetails.phone, }; // 1. Carrega agendamentos existentes const storedAppointmentsRaw = localStorage.getItem(APPOINTMENTS_STORAGE_KEY); const currentAppointments = storedAppointmentsRaw ? JSON.parse(storedAppointmentsRaw) : []; // 2. Adiciona o novo agendamento const updatedAppointments = [...currentAppointments, newAppointment]; // 3. Salva a lista atualizada no LocalStorage localStorage.setItem(APPOINTMENTS_STORAGE_KEY, JSON.stringify(updatedAppointments)); alert(`Consulta com ${doctorDetails.name} agendada com sucesso!`); // Limpar o formulário após o sucesso (opcional) setSelectedDoctor(""); setSelectedDate(""); setSelectedTime(""); setNotes(""); } return (

Agendar Consulta

Escolha o médico, data e horário para sua consulta

Dados da Consulta Preencha as informações para agendar sua consulta
setSelectedDate(e.target.value)} min={new Date().toISOString().split("T")[0]} />