"use client";

import { CurriculumSubjectManager } from "@/components/academic/CurriculumSubjectManager";
import { AppShell } from "@/components/app/AppShell";
import { RequireAcademicAdmin } from "@/components/auth/RequirePermission";
import { CurriculumNav } from "@/components/academic/CurriculumNav";
import { Alert } from "@/components/ui/Alert";
import { canManageOrgSubjects } from "@/lib/permissions";

export default function CurriculumPage() {
  const canEdit = canManageOrgSubjects();

  return (
    <RequireAcademicAdmin>
      <AppShell
        title="برنامه درسی پایه"
        subtitle="تعریف دروس رسمی هلدینگ، ضریب per رشته و کتاب درسی"
      >
        <CurriculumNav current="curriculum" />

        {!canEdit ? (
          <div className="mb-4">
            <Alert tone="info">
              ویرایش دروس سازمانی، کتاب و سرفصل فقط با دسترسی اختصاصی برنامه درسی هلدینگ ممکن است.
              برای دروس اختصاصی مدرسه به فهرست دروس بروید.
            </Alert>
          </div>
        ) : (
          <div className="mb-4">
            <Alert tone="info">
              <strong>جریان:</strong> پایه + رشته → درس → کتاب/سرفصل/محتوا → آزمون → نمره →
              ضریب → کارنامه. هر درس برای یک <strong>پایه</strong> ثبت می‌شود و فقط روی
              رشته‌های تیک‌خورده اعمال می‌گردد (ضریب هر رشته جداست). کتاب و سرفصل مشترک‌اند و
              می‌توانند به چند درس وصل شوند.
            </Alert>
          </div>
        )}

        <CurriculumSubjectManager canEdit={canEdit} />
      </AppShell>
    </RequireAcademicAdmin>
  );
}
