import React, { useState } from 'react'; import { Agent, ClientUser, AppSettings } from '../types'; import { Lock, User, Mail, Briefcase, ArrowRight, AlertCircle } from 'lucide-react'; interface AuthScreenProps { settings: AppSettings; onClientLogin: (email: string, password: string) => boolean; onAgentLogin: (email: string, password: string) => boolean; onClientRegister: (name: string, email: string, password: string, company: string) => void; } export const AuthScreen: React.FC = ({ settings, onClientLogin, onAgentLogin, onClientRegister }) => { const [activeTab, setActiveTab] = useState<'client' | 'agent'>('client'); const [isRegistering, setIsRegistering] = useState(false); const [error, setError] = useState(null); // Form States const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [name, setName] = useState(''); const [company, setCompany] = useState(''); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); setError(null); let success = false; if (activeTab === 'agent') { success = onAgentLogin(email, password); } else { if (isRegistering) { onClientRegister(name, email, password, company); success = true; // Assume success for mock registration } else { success = onClientLogin(email, password); } } if (!success) { setError("Credenziali non valide. Per favore controlla email e password."); } }; const handleTabChange = (tab: 'client' | 'agent') => { setActiveTab(tab); setIsRegistering(false); setError(null); setEmail(''); setPassword(''); }; return (
{settings.branding.appName.substring(0, 2)}

{settings.branding.appName}

Piattaforma di Supporto & Assistenza

{activeTab === 'agent' ? 'Accesso Area Riservata' : (isRegistering ? 'Crea un nuovo account' : 'Accedi al tuo account')}

{error && (
{error}
)}
{isRegistering && (
setName(e.target.value)} />
)}
{ setEmail(e.target.value); setError(null); }} />
{isRegistering && (
setCompany(e.target.value)} />
)}
{ setPassword(e.target.value); setError(null); }} />
{activeTab === 'client' && (

{isRegistering ? 'Hai già un account?' : 'Non hai un account?'}

)}
); };