import { getMemberToken, getApiBaseUrl } from '../../_lib/api';
import { AskChat } from './AskChat';
import Link from 'next/link';

interface Citation {
  messageId: string;
  snippet: string;
  senderName: string;
  sourceGroupName: string;
  approvedAt: number;
}

interface QA {
  id: string;
  question: string;
  answer: string;
  citations: Citation[];
  createdAt: string;
}

async function fetchHistory(token: string): Promise<QA[]> {
  const res = await fetch(`${getApiBaseUrl()}/my/ask`, {
    headers: { Authorization: `Bearer ${token}` },
    cache: 'no-store',
  }).catch(() => null);
  if (!res || !res.ok) return [];
  return (await res.json()) as QA[];
}

export default async function AskPage() {
  const token = await getMemberToken();
  if (!token) return null;

  const history = await fetchHistory(token);

  return (
    <div className="max-w-2xl mx-auto space-y-6">
      <div className="flex items-center justify-between">
        <div>
          <h1 className="text-xl font-semibold text-gray-900">Ask AI</h1>
          <p className="text-sm text-gray-500 mt-0.5">Answers from your community&apos;s knowledge.</p>
        </div>
        <Link href="/my" className="text-sm text-indigo-600 hover:underline">← Dashboard</Link>
      </div>

      <AskChat initialHistory={history} />
    </div>
  );
}
