import { useState, type FormEvent } from 'react' import { login, ErrorLogin, type UsuarioSesion } from '../services/auth' /** Pantalla de login StudioBlank: marca FRASA, usuario + contraseña, Enter envía */ export default function LoginScreen({ onLogin }: { onLogin: (usuario: UsuarioSesion) => void }) { const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [error, setError] = useState(null) const [cargando, setCargando] = useState(false) async function enviar(e: FormEvent) { e.preventDefault() setError(null) setCargando(true) try { onLogin(await login(username, password)) } catch (err) { setError(err instanceof ErrorLogin ? err.message : 'Usuario o contraseña incorrectos') } finally { setCargando(false) } } return (

CRM360 FRASA.

Acceso al ecosistema

setUsername(e.target.value)} autoComplete="username" autoFocus required className="w-full rounded-lg border border-[#D1D5DB] bg-white px-4 dark:border-[#334155] dark:bg-[#0F172A] dark:text-[#E2E8F0] py-3 text-sm transition-colors focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/20" />
setPassword(e.target.value)} autoComplete="current-password" required className="w-full rounded-lg border border-[#D1D5DB] bg-white px-4 dark:border-[#334155] dark:bg-[#0F172A] dark:text-[#E2E8F0] py-3 text-sm transition-colors focus:border-accent focus:outline-none focus:ring-2 focus:ring-accent/20" />
{error && (

{error}

)}
) }