import type { ReactNode } from 'react';
import { redirect } from 'next/navigation';
import { getAuthenticatedAdmin } from '@/lib/admin-auth';
import { AdminShell } from '@/components/admin-nav';

// NEU (Tab-Titel-Umbau): Diese Datei ist bereits eine Server-Komponente
// (kein 'use client') - metadata kann hier direkt gesetzt werden und gilt
// automatisch fuer ALLE verschachtelten Admin-Seiten (Uebersicht, Sponsor-
// Insights, Sponsoring, Rankings, Fehler-Log), ohne dass jede einzelne Seite
// selbst etwas exportieren muss. Ergebnis: Tab-Titel "Admin · Yumder" statt
// ueberall nur "Yumder".
export const metadata = {
  title: 'Admin',
};

export default async function AdminDashboardLayout({ children }: { children: ReactNode }) {
  // Serverseitiger Auth-Guard: unangemeldete Zugriffe werden sofort
  // umgeleitet, statt erst die Admin-Shell zu rendern und per Client-Fetch
  // auf einen 401 zu warten.
  const admin = await getAuthenticatedAdmin();
  if (!admin) redirect('/admin');

  return <AdminShell>{children}</AdminShell>;
}
