import type { Metadata } from 'next';
import { redirect } from 'next/navigation';
import { LoginForm } from '@/components/host/LoginForm';
import { LoginShell } from '@/components/host/LoginShell';
import { safeNextPath } from '@/lib/auth/cookies';
import { getAdminContext } from '@/lib/auth/session';
import { signInAdmin } from './actions';

export const metadata: Metadata = { title: 'Sign in' };

export default async function AdminLoginPage({ searchParams }: { searchParams: Promise<Record<string, string | string[] | undefined>> }) {
  const { next } = await searchParams;
  const destination = safeNextPath('admin', typeof next === 'string' ? next : undefined);
  if (await getAdminContext()) redirect(destination);
  return (
    <LoginShell
      kicker="Platform admin"
      title="PintRush staff sign-in"
      intro="Venues, content packs, plans, pilot leads and support tools. Venue hosts sign in at /host/login."
    >
      <LoginForm action={signInAdmin} next={destination === '/admin' ? undefined : destination} submitLabel="Sign in" />
    </LoginShell>
  );
}
