'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Ship, Mail, Lock, Loader2 } from 'lucide-react'; export default function CarrierLoginPage() { const router = useRouter(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(null); try { const response = await fetch('http://localhost:4000/api/v1/carrier-auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email, password }), }); if (!response.ok) { throw new Error('Identifiants invalides'); } const data = await response.json(); // Stocker le token localStorage.setItem('carrier_access_token', data.accessToken); localStorage.setItem('carrier_refresh_token', data.refreshToken); // Rediriger vers le dashboard router.push('/carrier/dashboard'); } catch (err: any) { setError(err.message || 'Erreur de connexion'); } finally { setLoading(false); } }; return (
{/* Header */}

Portail Transporteur

Connectez-vous à votre espace Xpeditis

{/* Error Message */} {error && (

{error}

)} {/* Login Form */}
{/* Email */}
setEmail(e.target.value)} required className="pl-10 w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent" placeholder="votre@email.com" />
{/* Password */}
setPassword(e.target.value)} required className="pl-10 w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent" placeholder="••••••••" />
{/* Submit Button */}
{/* Footer Links */}
Mot de passe oublié ?

Vous n'avez pas encore de compte ?
Un compte sera créé automatiquement lors de votre première acceptation de demande.

); }