import { Header } from '@/components/ui/Header';
import { ManagerSummaryService } from '@/services/analytics/manager-summary';
import { tasksService } from '@/services/task-management/tasks';
import { tagsService } from '@/services/task-management/tags';
import { WeeklyManagerPageClient } from './WeeklyManagerPageClient';
import { getServerSession } from 'next-auth';
import { authOptions } from '@/lib/auth';

// Force dynamic rendering (no static generation)
export const dynamic = 'force-dynamic';

export default async function WeeklyManagerPage() {
  // Récupérer l'utilisateur connecté
  const session = await getServerSession(authOptions);
  const userId = session?.user?.id;

  // Si pas d'utilisateur connecté, retourner une page vide
  if (!userId) {
    return (
      <div className="min-h-screen flex items-center justify-center">
        <div className="text-center">
          <h1 className="text-2xl font-bold mb-4">Connexion requise</h1>
          <p className="text-gray-600">
            Veuillez vous connecter pour accéder au gestionnaire hebdomadaire.
          </p>
        </div>
      </div>
    );
  }

  // SSR - Récupération des données côté serveur
  const [summary, initialTasks, initialTags] = await Promise.all([
    ManagerSummaryService.getManagerSummary(userId),
    tasksService.getTasks(userId),
    tagsService.getTags(userId),
  ]);

  return (
    <div className="min-h-screen bg-[var(--background)]">
      <Header />

      <main className="container mx-auto px-6 py-8">
        <WeeklyManagerPageClient
          initialSummary={summary}
          initialTasks={initialTasks}
          initialTags={initialTags}
        />
      </main>
    </div>
  );
}
