import { redirect } from 'next/navigation';
import { auth } from '../../../auth';
import Navigation from '../../Navigation';
import AiAdminClient from './AiAdminClient';
import type { AiModelInfo } from './AiAdminClient';

const API_BASE = process.env.NEXT_PUBLIC_API_URL_INTERNAL || 'http://recipe-api:8080';

export default async function AiAdminPage() {
  const session = await auth();
  if ((session?.user as any)?.role !== 'admin') {
    redirect('/');
  }

  const key = process.env.MISTRAL_API_KEY ?? '';
  const hasKey = key.length > 0;
  const keyHint = key.length >= 4 ? key.slice(-4) : '????';

  let aiFunctions: AiModelInfo[] = [];
  try {
    const res = await fetch(`${API_BASE}/api/ai/models`, { cache: 'no-store' });
    if (res.ok) aiFunctions = await res.json();
  } catch {
    // backend ej nåbart — visa tom lista
  }

  return (
    <>
      <Navigation />
      <main style={{ maxWidth: '900px', margin: '0 auto', padding: '0 1rem 2rem' }}>
        <h1 style={{ fontSize: '1.4rem', marginBottom: '0.25rem' }}>🤖 AI-konfiguration</h1>
        <p style={{ color: '#666', marginBottom: '2rem', fontSize: '0.9rem' }}>
          Översikt över implementerade AI-funktioner och API-nyckelstatus.
        </p>
        <AiAdminClient keyHint={keyHint} hasKey={hasKey} aiFunctions={aiFunctions} />
      </main>
    </>
  );
}
