import React, { useState, useEffect } from 'react';
import { Database, Lock, User, Stethoscope, Phone, ShieldCheck, Mail, ArrowRight, Loader2 } from 'lucide-react';
import { useToast } from '../contexts/ToastContext';
export const DentistRegisterView: React.FC = () => {
const [step, setStep] = useState(1);
const [loading, setLoading] = useState(false);
const toast = useToast();
// Get data from URL
const query = new URLSearchParams(window.location.hash.split('?')[1]);
const clinicaId = query.get('clinica');
const tempName = query.get('nome');
const token = query.get('token');
const [formData, setFormData] = useState({
nome: tempName || '',
email: '',
senha: '',
cro: '',
cro_uf: 'MS',
celular: '',
especialidade: ''
});
if (!token || !clinicaId) {
return (
LINK INVÁLIDO OU EXPIRADO
Por favor, solicite um novo convite ao administrador da clínica.
);
}
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
setLoading(true);
try {
const res = await fetch('http://localhost:3005/api/dentistas/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
...formData,
id: 'd_' + Math.random().toString(36).substring(2, 9),
clinicaId
})
});
if (res.ok) {
toast.success("CADASTRO REALIZADO COM SUCESSO!");
setStep(3);
} else {
toast.error("ERRO AO REALIZAR CADASTRO.");
}
} catch (err) {
toast.error("FALHA DE CONEXÃO.");
} finally {
setLoading(false);
}
};
return (
{/* Progress Header */}
Convite de Profissional
Complete seu Perfil
Bem-vindo ao SCOREODONTO. Você está sendo convidado para a unidade: {clinicaId}
{step === 1 && (
)}
{step === 2 && (
)}
{step === 3 && (
Tudo Pronto!
Seu perfil foi criado e você já está vinculado à unidade
{clinicaId}.
)}
Ambiente Seguro e Auditorado por Administradores
);
};