'use client'; import { useEffect, useState } from 'react'; import { useSearchParams, useRouter } from 'next/navigation'; import { CheckCircle, XCircle, Loader2 } from 'lucide-react'; export default function CarrierConfirmedPage() { const searchParams = useSearchParams(); const router = useRouter(); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const token = searchParams.get('token'); const action = searchParams.get('action'); const bookingId = searchParams.get('bookingId'); const isNewAccount = searchParams.get('new') === 'true'; useEffect(() => { const autoLogin = async () => { if (!token) { setError('Token manquant'); setLoading(false); return; } try { // Stocker le token JWT localStorage.setItem('carrier_access_token', token); // Rediriger vers le dashboard après 3 secondes setTimeout(() => { router.push(`/carrier/dashboard/bookings/${bookingId}`); }, 3000); setLoading(false); } catch (err) { setError('Erreur lors de la connexion automatique'); setLoading(false); } }; autoLogin(); }, [token, bookingId, router]); if (loading) { return (

Connexion en cours...

); } if (error) { return (

Erreur

{error}

); } const isAccepted = action === 'accepted'; return (
{/* Success Icon */} {isAccepted ? ( ) : ( )} {/* Title */}

{isAccepted ? '✅ Demande acceptée avec succès' : '❌ Demande refusée'}

{/* New Account Message */} {isNewAccount && (

🎉 Bienvenue sur Xpeditis !

Un compte transporteur a été créé automatiquement pour vous. Vous recevrez un email avec vos identifiants de connexion.

)} {/* Confirmation Message */}

{isAccepted ? 'Votre acceptation a été enregistrée. Le client va être notifié automatiquement par email.' : 'Votre refus a été enregistré. Le client va être notifié automatiquement.'}

{/* Redirection Notice */}

Redirection vers votre tableau de bord dans quelques secondes...

{/* Next Steps */}

📋 Prochaines étapes

{isAccepted ? (
  • 1. Le client va vous contacter directement par email
  • 2. Envoyez-lui le numéro de réservation (booking number)
  • 3. Organisez l'enlèvement de la marchandise
  • 4. Suivez l'expédition depuis votre tableau de bord
) : (
  • 1. Le client sera notifié de votre refus
  • 2. Il pourra rechercher une alternative
)}
{/* Manual Link */}
); }