import React, { useState, useEffect } from 'react'; import { Database, Lock, User, ArrowRight, ShieldCheck, Loader2 } from 'lucide-react'; import { HybridBackend } from '../services/backend.ts'; import { APP_VERSION } from '../constants.ts'; interface LoginViewProps { onLoginSuccess: () => void; } export const LoginView: React.FC = ({ onLoginSuccess }) => { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const [isInitializing, setIsInitializing] = useState(true); useEffect(() => { const timer = setTimeout(() => setIsInitializing(false), 3000); return () => clearTimeout(timer); }, []); if (isInitializing) { return (

Inicializando Sistema...

{APP_VERSION}
); } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(''); try { const success = await HybridBackend.login(email, password); if (success) { onLoginSuccess(); } else { setError('CREDENCIAIS INVÁLIDAS. VERIFIQUE EMAIL E SENHA.'); } } catch (err) { setError('ERRO DE CONEXÃO. TENTE NOVAMENTE.'); } finally { setLoading(false); } }; return (

SCOREODONTO

SISTEMA INTEGRADO POSTGRESQL + GOOGLE

ACESSO RESTRITO

setEmail(e.target.value)} className="w-full pl-10 pr-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 outline-none transition-all text-sm font-medium" placeholder="ex: usuario@email.com" />
setPassword(e.target.value)} className="w-full pl-10 pr-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 outline-none transition-all text-sm font-medium" placeholder="••••••••" />
{error && (
{error}
)}
AMBIENTE SEGURO E CRIPTOGRAFADO
{APP_VERSION}
); };