import { getIronSession } from 'iron-session';
import { cookies } from 'next/headers';
import { sessionOptions, SessionData } from '@/lib/session';
import { redirect } from 'next/navigation';
import prisma from '@/lib/prisma';
import { QuoteEditor } from '@/components/QuoteEditor';

export default async function AdminDashboard() {
  const cookieStore = await cookies();
  const session = await getIronSession<SessionData>(cookieStore, sessionOptions);

  if (!session.isLoggedIn || session.role !== 'ADMIN') {
    redirect('/login');
  }

  const usersCount = await prisma.user.count();
  const premiumCount = await prisma.user.count({ where: { isPremium: true } });
  
  let appConfig = await prisma.appConfig.findFirst({ where: { id: 1 } });
  if (!appConfig) {
    appConfig = await prisma.appConfig.create({
      data: {
        quoteText: "Konsistensi adalah kunci keberhasilan.",
        quoteAuthor: "Anonim",
      }
    });
  }

  return (
    <main className="min-h-screen bg-gray-50 p-8">
      <div className="max-w-6xl mx-auto">
        <h1 className="text-3xl font-bold text-gray-900 mb-8">Admin Dashboard ⚙️</h1>
        
        <div className="grid grid-cols-1 md:grid-cols-2 gap-6 mb-10">
          <div className="bg-white p-6 rounded-2xl shadow-sm border border-gray-200">
            <h3 className="text-lg font-semibold text-gray-600 mb-2">Total Pengguna</h3>
            <div className="text-4xl font-extrabold text-blue-600">{usersCount}</div>
          </div>
          <div className="bg-white p-6 rounded-2xl shadow-sm border border-gray-200">
            <h3 className="text-lg font-semibold text-gray-600 mb-2">Pengguna Premium</h3>
            <div className="text-4xl font-extrabold text-orange-600">{premiumCount}</div>
          </div>
        </div>

        <QuoteEditor initialData={appConfig} />
      </div>
    </main>
  );
}
