import { prisma } from "@/lib/prisma";
import { notFound } from "next/navigation";
import { ChatWidget } from "@/components/chat/ChatWidget";
import { PLAN_LIMITS } from "@/lib/usage";

export default async function EmbedPage({ params }: { params: Promise<{ botId: string }> }) {
  const { botId } = await params;

  const bot = await prisma.bot.findUnique({
    where: { id: botId },
    include: {
      config: true,
      user: { include: { subscription: true } },
    },
  });

  if (!bot || bot.status !== "ACTIVE") notFound();

  const plan = (bot.user?.subscription?.plan ?? "FREE") as keyof typeof PLAN_LIMITS;
  const showBranding = !PLAN_LIMITS[plan]?.removeBranding;

  return (
    <ChatWidget
      botId={botId}
      botName={bot.config?.botDisplayName ?? bot.name}
      welcomeMessage={bot.config?.welcomeMessage ?? "Buna ziua! Cu ce va pot ajuta?"}
      primaryColor={bot.config?.primaryColor ?? "#6366f1"}
      leadCaptureEnabled={bot.config?.leadCaptureEnabled ?? false}
      leadCaptureTitle={bot.config?.leadCaptureTitle ?? "Inainte sa incepem..."}
      leadCaptureFields={bot.config?.leadCaptureFields ?? "name,email"}
      showBranding={showBranding}
    />
  );
}
