import { TeamsService, userService } from "@/services";
import { auth } from "@/auth";
import { LoginLayout, AuthWrapper, LoginLoading } from "@/components/login";

export default async function LoginPage() {
  try {
    // Charger les équipes côté serveur
    const teams = await TeamsService.getTeams();

    // Vérifier si l'utilisateur est déjà connecté
    const session = await auth();

    let userProfile = null;

    if (session?.user) {
      // Si l'utilisateur est connecté, récupérer son profil côté serveur
      userProfile = await userService.getUserByUuid(session.user.id);
    }

    // Si l'utilisateur n'est pas connecté, afficher le formulaire d'auth
    return (
      <LoginLayout>
        <AuthWrapper teams={teams} initialUser={userProfile} />
      </LoginLayout>
    );
  } catch (error) {
    console.error("Error loading login page:", error);
    return (
      <LoginLayout>
        <LoginLoading />
      </LoginLayout>
    );
  }
}
