'use client'; import { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Alert, AlertDescription } from '@/components/ui/alert'; import { Loader2, CheckCircle, AlertCircle, Trash2, RefreshCw } from 'lucide-react'; export default function ClearAuthPage() { const [loading, setLoading] = useState(false); const [success, setSuccess] = useState(false); const [error, setError] = useState(''); const [localStorageCleared, setLocalStorageCleared] = useState(false); const clearServerAuth = async () => { setLoading(true); setError(''); setSuccess(false); try { const response = await fetch('/api/clear-auth', { method: 'POST', headers: { 'Content-Type': 'application/json', }, }); const result = await response.json(); if (result.success) { setSuccess(true); } else { setError(result.error || 'Erreur lors du nettoyage serveur'); } } catch (error: any) { setError(error.message || 'Erreur lors du nettoyage serveur'); } finally { setLoading(false); } }; const clearLocalStorage = () => { try { // Supprimer toutes les clés liées à Supabase const keysToRemove = []; for (let i = 0; i < localStorage.length; i++) { const key = localStorage.key(i); if (key && (key.includes('supabase') || key.includes('sb-'))) { keysToRemove.push(key); } } keysToRemove.forEach(key => { localStorage.removeItem(key); }); setLocalStorageCleared(true); console.log('🧹 localStorage nettoyé:', keysToRemove); } catch (error) { console.error('❌ Erreur lors du nettoyage localStorage:', error); setError('Erreur lors du nettoyage localStorage'); } }; const reloadPage = () => { window.location.reload(); }; return (
Résoudre les problèmes de session Supabase
/debug-auth pour vous reconnecter/admin/debug-auth pour une connexion rapide/admin