"use client" import { useState } from "react" import { Input } from "@/components/ui/input" import { Button } from "@/components/ui/button" import { Label } from "@/components/ui/label" import { Card, CardContent, CardHeader } from "@/components/ui/card" export function DoctorRegistrationForm() { const [formData, setFormData] = useState({ nome: "", crm: "", especialidade: "", email: "", celular: "", cpf: "", dataNascimento: "", cep: "", logradouro: "", numero: "", bairro: "", cidade: "", estado: "", observacoes: "", }) const [errors, setErrors] = useState({}) const handleInputChange = (field, value) => { setFormData((prev) => ({ ...prev, [field]: value })) } const validateForm = () => { const newErrors = {} if (!formData.nome.trim()) newErrors.nome = "Nome é obrigatório" if (!formData.crm.trim()) newErrors.crm = "CRM é obrigatório" if (!formData.especialidade.trim()) newErrors.especialidade = "Especialidade é obrigatória" if (!formData.email.trim()) newErrors.email = "E-mail é obrigatório" if (!formData.celular.trim()) newErrors.celular = "Celular é obrigatório" if (!formData.cpf.trim()) newErrors.cpf = "CPF é obrigatório" if (!formData.dataNascimento.trim()) newErrors.dataNascimento = "Data de nascimento é obrigatória" if (!formData.cep.trim()) newErrors.cep = "CEP é obrigatório" if (!formData.logradouro.trim()) newErrors.logradouro = "Logradouro é obrigatório" if (!formData.numero.trim()) newErrors.numero = "Número é obrigatório" if (!formData.bairro.trim()) newErrors.bairro = "Bairro é obrigatório" if (!formData.cidade.trim()) newErrors.cidade = "Cidade é obrigatória" if (!formData.estado.trim()) newErrors.estado = "Estado é obrigatório" setErrors(newErrors) return Object.keys(newErrors).length === 0 } const handleSubmit = (e) => { e.preventDefault() if (!validateForm()) return // Aqui você pode chamar a API para salvar o médico alert("Médico cadastrado com sucesso!") } return (

Dados do Médico

handleInputChange("nome", e.target.value)} /> {errors.nome &&

{errors.nome}

}
handleInputChange("crm", e.target.value)} /> {errors.crm &&

{errors.crm}

}
handleInputChange("especialidade", e.target.value)} /> {errors.especialidade &&

{errors.especialidade}

}
handleInputChange("email", e.target.value)} /> {errors.email &&

{errors.email}

}
handleInputChange("celular", e.target.value)} /> {errors.celular &&

{errors.celular}

}
handleInputChange("cpf", e.target.value)} /> {errors.cpf &&

{errors.cpf}

}
handleInputChange("dataNascimento", e.target.value)} /> {errors.dataNascimento &&

{errors.dataNascimento}

}

Endereço

handleInputChange("cep", e.target.value)} /> {errors.cep &&

{errors.cep}

}
handleInputChange("logradouro", e.target.value)} /> {errors.logradouro &&

{errors.logradouro}

}
handleInputChange("numero", e.target.value)} /> {errors.numero &&

{errors.numero}

}
handleInputChange("bairro", e.target.value)} /> {errors.bairro &&

{errors.bairro}

}
handleInputChange("cidade", e.target.value)} /> {errors.cidade &&

{errors.cidade}

}
handleInputChange("estado", e.target.value)} /> {errors.estado &&

{errors.estado}

}

Observações

handleInputChange("observacoes", e.target.value)} />
) }