'use client'; /** * Logout Page Component */ import { useState } from 'react'; import { useRouter } from 'next/navigation'; export default function LogoutPage({ onLogout, onSetSessionCookie }) { const [error, setError] = useState(''); const [success, setSuccess] = useState(''); const [isLoading, setIsLoading] = useState(false); const router = useRouter(); const handleLogout = async () => { setError(''); setSuccess(''); setIsLoading(true); try { // Call the logout action if provided if (onLogout) { const result = await onLogout(); if (result && !result.success) { setError(result.error || 'Échec de la déconnexion'); setIsLoading(false); return; } } // Clear session cookie if provided if (onSetSessionCookie) { await onSetSessionCookie('', { expires: new Date(0) }); } // Show success message setSuccess('Vous avez été déconnecté. Redirection...'); setIsLoading(false); // Wait for user to see the success message, then redirect setTimeout(() => { router.push('/'); }, 100); } catch (err) { console.error('Logout error:', err); setError('Une erreur inattendue s\'est produite lors de la déconnexion'); setIsLoading(false); } }; return (
Cela mettra fin à votre session et vous déconnectera de votre compte.