import { Metadata } from "next";
import CourseDetail from "./CourseClient";
import { generatePageMetadata } from "@/utils/generatePageMetadata";

type Props = {
  params: Promise<{ id: string; title: string }>;
};

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const { id, title: slugTitle } = await params;

  try {
    const res = await fetch(
      `https://app.modstagram.ir/api/v1/academy/academy/get/curses?page=1&limit=20&status=accept&_id=${id}`,
      { cache: "no-store" }
    );

    const response = await res.json();
    const course =
      response?.data?.courses?.[0] ||
      response?.courses?.[0] ||
      response?.[0];

    if (course) {
      const courseName = course.cuorse_name || "دوره آموزشی";
      const category = course.category || "دسته‌بندی نامشخص";
      const teacher = course.teacher_name || "مدرس نامشخص";

      const rawCaption = course.caption || "";
      const cleanCaption = rawCaption
        .replace(/<[^>]*>?/gm, "")
        .substring(0, 150);

      return generatePageMetadata({
        title: `${courseName} | ${category} | آموزشگاه مدستاگرام`,
        description: `${cleanCaption || courseName}. دسته: ${category}. مدرس: ${teacher}. پکیج آموزشی تخصصی در آموزشگاه مدستاگرام.`,
        path: `/academy/${id}/${encodeURIComponent(slugTitle || courseName)}`,
        type: "article",
      });
    }
  } catch (error) {
    console.error("خطا در دریافت اطلاعات سئو:", error);
  }

  return generatePageMetadata({
    title: "جزئیات دوره | آموزشگاه مدستاگرام",
    description: "مشاهده جزئیات پکیج آموزشی در آموزشگاه مدستاگرام.",
    path: `/academy/${id}/${encodeURIComponent(slugTitle || "course")}`,
  });
}

export default async function CoursePage({ params }: Props) {
  const { id } = await params;
  return <CourseDetail courseId={id} />;
}
