import type { ClassSubjectTeacherAssignment } from "../types"

/**
 * 表单使用的年级选项（统一 admin / grade 两种来源的年级形状）。
 * - admin 模式：由 `{ id, name, school: { id, name } }` 转换而来
 * - grade 模式：managedGrades 已具备 `{ id, name, schoolId, schoolName }`
 */
export type ClassFormGrade = {
  id: string
  name: string
  schoolId?: string
  schoolName?: string | null
}

/**
 * 编辑弹窗中科目-教师分配的表单状态。
 */
export type SubjectTeacherState = {
  subject: string
  teacherId: string | null
}

export type { ClassSubjectTeacherAssignment }

/**
 * 格式化班级任课教师列表为可读字符串。
 * 统一使用中文标点（冒号无空格、中文逗号分隔），与 K12 中文界面保持一致。
 */
export function formatSubjectTeachers(list: ClassSubjectTeacherAssignment[]): string {
  const pairs = list
    .filter((x) => x.teacher)
    .map((x) => `${x.subject}:${x.teacher?.name ?? ""}`)
    .filter((x) => x.length > 0)
  return pairs.length > 0 ? pairs.join("，") : "-"
}
