'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { useAuth } from '@/lib/auth-context'; import ReflyLogo from '@/components/ReflyLogo'; const DEMO_ACCOUNTS = [ { token: 'dev', icon: '👤', label: 'Разработчик', desc: 'Локальная разработка' }, { token: 'demo-admin', icon: '🛡️', label: 'Администратор', desc: 'Полный доступ' }, { token: 'demo-inspector', icon: '📋', label: 'Инспектор', desc: 'Проверки и аудит' }, ]; export default function LoginPage() { const { login, isAuthenticated, loading } = useAuth(); const router = useRouter(); const [token, setToken] = useState(''); const [error, setError] = useState(''); const [submitting, setSubmitting] = useState(false); if (!loading && isAuthenticated) { router.push('/dashboard'); return null; } const doLogin = async (authToken: string) => { setError(''); setSubmitting(true); try { await login(authToken || 'dev'); router.push('/dashboard'); } catch { setError('Неверный токен или сервер недоступен'); } finally { setSubmitting(false); } }; const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); await doLogin(token || 'dev'); }; return (
Контроль лётной годности · Вход