import { tasksService } from '@/services/task-management/tasks';
import { tagsService } from '@/services/task-management/tags';
import { KanbanPageClient } from './KanbanPageClient';
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 KanbanPage() {
  // 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 tableau Kanban.
          </p>
        </div>
      </div>
    );
  }

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

  return (
    <KanbanPageClient initialTasks={initialTasks} initialTags={initialTags} />
  );
}
