"use client";

import { useRouter } from "next/navigation";
import { useParams } from "@/lib/route-params";
import { useEffect, useState } from "react";
import { AppShell } from "@/components/app/AppShell";
import { Alert } from "@/components/ui/Alert";
import { PageContentSkeleton } from "@/components/ui/Skeleton";
import { ApiError, apiGet } from "@/lib/api";
import { reportCardWorkspaceHref } from "@/lib/report-cards";

export default function LegacyPendingTeachersPeriodRedirect() {
  const { periodId } = useParams<{ periodId: string }>();
  const router = useRouter();
  const [error, setError] = useState<string | null>(null);

  useEffect(() => {
    (async () => {
      try {
        const summary = await apiGet<{
          periods: Array<{ period_id: number; report_card_id: number }>;
        }>("/grade-entries/pending-teachers");
        const row = summary.periods.find((item) => String(item.period_id) === String(periodId));
        if (row?.report_card_id) {
          router.replace(reportCardWorkspaceHref(row.report_card_id, "oversight"));
          return;
        }
        router.replace("/academic/report-cards");
      } catch (err) {
        setError(err instanceof ApiError ? err.message : "انتقال ناموفق بود.");
      }
    })();
  }, [periodId, router]);

  return (
    <AppShell title="کارنامه‌ها">
      {error ? <Alert tone="error">{error}</Alert> : <PageContentSkeleton rows={4} />}
    </AppShell>
  );
}
