"use client"; import { signIn, useSession } from "next-auth/react"; import { useEffect, useState } from "react"; export default function SignIn() { const { data: session } = useSession(); const [initializationStatus, setInitializationStatus] = useState(null); useEffect(() => { // Trigger Keycloak sign-in signIn("keycloak", { callbackUrl: "/" }); }, []); useEffect(() => { if (session?.user) { console.log("Session available, initializing storage"); // Initialize storage using direct API const initializeStorage = async () => { try { setInitializationStatus("initializing"); const response = await fetch('/api/storage/init', { method: 'POST' }); if (!response.ok) { console.error('Failed to initialize storage:', await response.text()); setInitializationStatus("failed"); } else { console.log('Storage initialized successfully'); setInitializationStatus("success"); // Force reload to ensure session is updated setTimeout(() => { window.location.href = "/"; }, 1000); } } catch (error) { console.error('Error initializing storage:', error); setInitializationStatus("failed"); } }; initializeStorage(); } }, [session]); return (

{initializationStatus === "initializing" ? "Initialisation de votre espace..." : initializationStatus === "success" ? "Initialisation réussie, redirection..." : initializationStatus === "failed" ? "Échec de l'initialisation. Veuillez réessayer." : "Redirection vers la page de connexion..."}

{initializationStatus === "initializing" && (
)}
); }