import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { Lock, User, ShieldCheck, AlertCircle } from 'lucide-react'; const AdminLogin = () => { const [adminId, setAdminId] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [isLoading, setIsLoading] = useState(false); const navigate = useNavigate(); const handleLogin = async (e) => { e.preventDefault(); setIsLoading(true); setError(''); try { const response = await fetch('/api/admin/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ adminId, password }) }); const data = await response.json(); if (response.ok) { localStorage.setItem('adminToken', data.token); navigate('/admin/dashboard'); } else { setError(data.detail || 'Invalid credentials'); } } catch (err) { setError('Connection failed. Please try again.'); } finally { setIsLoading(false); } }; return (

Admin Portal

Secure access for road.rentals owner

{error && (
{error}
)}
setAdminId(e.target.value)} className="w-full pl-10 pr-4 py-3 rounded-xl border border-slate-200 focus:border-indigo-500 focus:ring-4 focus:ring-indigo-50/50 outline-none transition-all" placeholder="Enter your Admin ID" required />
setPassword(e.target.value)} className="w-full pl-10 pr-4 py-3 rounded-xl border border-slate-200 focus:border-indigo-500 focus:ring-4 focus:ring-indigo-50/50 outline-none transition-all" placeholder="••••••••" required />

Road.Rentals Official Admin System

); }; export default AdminLogin;