// app/maintenance/page.tsx
import { createSbServer } from "@/lib/supabaseServer";
import { redirect } from "next/navigation";
import { MaintenancePage } from "./MaintenancePage";
import { Metadata } from "next";

export const metadata: Metadata = {
  title: "Maintenance en cours | Espace Paie Odentas",
};

export default async function Maintenance() {
  const sb = createSbServer();
  
  // Récupérer le statut de maintenance
  const { data: maintenanceStatus } = await sb
    .from("maintenance_status")
    .select("*")
    .single();
  
  // Si pas en maintenance, rediriger vers l'accueil
  if (!maintenanceStatus?.is_maintenance_mode) {
    redirect("/");
  }
  
  // Vérifier si l'utilisateur est staff (pour lui permettre de bypass)
  const { data: { user } } = await sb.auth.getUser();
  let isStaff = false;
  
  if (user) {
    const { data: staffData } = await sb
      .from("staff_users")
      .select("is_staff")
      .eq("user_id", user.id)
      .maybeSingle();
    
    isStaff = !!staffData?.is_staff;
    
    // Si c'est un staff, le rediriger vers l'app
    if (isStaff) {
      redirect("/");
    }
  }
  
  return <MaintenancePage maintenanceData={maintenanceStatus} />;
}