import { prisma } from "@/lib/db";
import { notFound } from "next/navigation";
import { auth } from "@/lib/auth";
import { getUserPlan } from "@/lib/plan";
import Link from "next/link";

export default async function PathKindPage({ params }: { params: { kind: string } }) {
  const kind = params.kind;
  if (!["week","month"].includes(kind)) return notFound();
  const session = await auth();
  const plan = session?.user?.id ? await getUserPlan(session.user.id as string) : "free";

  if (kind === "month" && plan === "free") {
    return (
      <section className="mt-3 card">
        <div className="text-xl font-semibold mb-1">Month plan is Pro+</div>
        <p className="text-slate-300">Upgrade to unlock curated month-long paths and certificates.</p>
        <div className="mt-3"><Link className="btn" href="/pricing">Upgrade</Link></div>
      </section>
    );
  }

  const subset = await prisma.externalCourse.findMany({ where: { duration: kind }, include: { provider: true }, take: 6 });
  return (
    <section className="mt-3 card">
      <div className="kicker mb-1">{kind === "week" ? "1-Week Plan" : "1-Month Plan"}</div>
      <div className="text-sm text-slate-300 mb-2">Auto-assembled from public courses.</div>
      <div className="grid gap-2">
        {subset.map(c => (
          <div key={c.id} className="p-3 rounded-xl border border-slate-700">
            <div className="text-[12px] text-slate-400">{c.provider.name} · {c.level} · {c.duration}</div>
            <div className="font-medium">{c.title}</div>
          </div>
        ))}
      </div>
    </section>
  );
}
