import React, { useState } from 'react'; import { useAuth } from '../contexts/AuthContext'; import { Button } from '../components/Button'; import { Input } from '../components/Input'; import { UserRole } from '../types'; interface LoginProps { onNavigate?: (page: string) => void; } export const Login: React.FC = ({ onNavigate }) => { const { login, availableUsers } = useAuth(); const [email, setEmail] = useState(''); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(''); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setIsLoading(true); setError(''); const success = await login(email); if (!success) { setError('Usuário não encontrado. Tente um dos e-mails de demonstração.'); } setIsLoading(false); }; const fillCredentials = (userEmail: string) => { setEmail(userEmail); }; const getRoleLabel = (role: UserRole) => { switch (role) { case UserRole.SUPERADMIN: return "Superadmin"; case UserRole.BUSINESS_OWNER: return "Empresa"; case UserRole.PHOTOGRAPHER: return "Fotógrafo"; case UserRole.EVENT_OWNER: return "Cliente"; default: return role; } } return (
{/* Logo dentro do card */}
Photum Formaturas
Bem-vindo de volta

Acesse sua conta

Não tem uma conta?{' '}

setEmail(e.target.value)} className="w-full px-3 sm:px-4 py-2.5 sm:py-3 text-sm sm:text-base border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:border-transparent transition-all" style={{ focusRing: '2px solid #B9CF33' }} onFocus={(e) => e.target.style.borderColor = '#B9CF33'} onBlur={(e) => e.target.style.borderColor = '#d1d5db'} /> {error && {error}}
{/* Demo Users Quick Select */}

Usuários de Demonstração (Clique para preencher)

{availableUsers.map(user => ( ))}
); };