import { useState } from 'react'; import { useNavigate, Link } from 'react-router-dom'; import { useAuth } from '../hooks/useAuth'; export function LoginPage() { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(null); const [loading, setLoading] = useState(false); const { login } = useAuth(); const navigate = useNavigate(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(null); setLoading(true); try { await login(username, password); navigate('/admin'); } catch (err: any) { setError(err.error?.message || 'Invalid username or password'); } finally { setLoading(false); } }; return (

Admin Login

Sign in to manage channels

{error && (
{error}
)}
setUsername(e.target.value)} disabled={loading} required autoFocus className="w-full px-4 py-3 border border-border rounded-xl bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent disabled:opacity-50" />
setPassword(e.target.value)} disabled={loading} required className="w-full px-4 py-3 border border-border rounded-xl bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent disabled:opacity-50" />

Don't have an account?{' '} Sign up

); }