import Link from 'next/link';
import { requireAdminOr404 } from '@/lib/auth';
import { prisma } from '@/lib/db';
import { AdminNav } from '@/components/admin/AdminNav';
import { LogoMark } from '@/components/Logo';
export const dynamic = 'force-dynamic';
export const metadata = { title: 'Yönetim', robots: { index: false, follow: false } };

export default async function L({ children }: { children: React.ReactNode }) {
  const me = await requireAdminOr404();
  // menüdeki dikkat rozetleri: ölü işler ve 45 dk'dan uzun süren üretimler
  const [dead, stuck, pending] = await Promise.all([
    prisma.job.count({ where: { status: 'dead' } }),
    prisma.order.count({ where: { status: 'RENDERING', updatedAt: { lt: new Date(Date.now() - 45 * 60_000) } } }),
    prisma.payment.count({ where: { status: 'pending', createdAt: { lt: new Date(Date.now() - 2 * 3600_000) } } }),
  ]);
  return (
    <div className="min-h-screen bg-paper-2 md:grid md:grid-cols-[232px_1fr]">
      <aside className="bg-ink text-white md:sticky md:top-0 md:h-screen md:overflow-y-auto">
        <div className="flex items-center justify-between gap-2 px-4 py-4">
          <Link href="/krtf1krtf" className="inline-flex items-center gap-2">
            <LogoMark size={22} tone="dark" />
            <span className="text-[15px] font-extrabold">Yönetim</span>
          </Link>
          <Link href="/panel" className="text-[12px] text-white/60 underline underline-offset-2 hover:text-white">Panele dön</Link>
        </div>
        <div className="px-2 pb-2 md:pb-4"><AdminNav badges={{ '/krtf1krtf/kuyruk': dead + stuck, '/krtf1krtf/odemeler': pending }} /></div>
        <div className="hidden border-t border-white/10 px-4 py-3 text-[11.5px] text-white/50 md:block">{me.email}</div>
      </aside>
      <main className="min-w-0 p-4 md:p-8">{children}</main>
    </div>
  );
}
