import React, { useState } from 'react'; import { useLanguage } from '../contexts/LanguageContext'; import { ShieldCheck, ArrowRight } from 'lucide-react'; import { authService } from '../services/authService'; interface LoginPageProps { onLoginSuccess: (token: string) => void; } const LoginPage: React.FC = ({ onLoginSuccess }) => { const { t } = useLanguage(); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); if (!username.trim() || !password.trim()) { setError(t('loginError')); return; } setError(''); try { const response = await authService.login(username, password); onLoginSuccess(response.access_token); } catch (err) { setError(err.message || 'Login failed.'); } }; return (

{t('loginTitle')}

{t('loginDesc')}

{ setUsername(e.target.value); setError(''); }} className="w-full px-4 py-3 rounded-lg border border-slate-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-all" placeholder={t('usernamePlaceholder') || 'Username'} />
{ setPassword(e.target.value); setError(''); }} className="w-full px-4 py-3 rounded-lg border border-slate-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-all" placeholder={t('passwordPlaceholder') || 'Password'} /> {error &&

{error}

}

Authorized Personnel Only

); }; export default LoginPage;