/**
 * 学情诊断模块角色配置（v4-P2-2）
 *
 * 通过配置驱动角色差异，新增角色只需在此添加配置项，
 * 无需修改组件 props 传递逻辑。
 */

export type DiagnosticRole = "student" | "teacher" | "parent"

export interface DiagnosticRoleConfig {
  /**
   * "练习"按钮跳转基础路径。
   * - 学生视角：跳转到学生作业页，支持 kp 参数筛选
   * - 教师视角：跳转到题目库，支持 kp 参数筛选
   * - 家长视角：null 表示隐藏练习按钮（家长无练习入口）
   *
   * 最终链接会附加 `?kp={knowledgePointId}` 实现个性化练习推荐。
   */
  practiceHrefBase: string | null
}

export const DIAGNOSTIC_ROLE_CONFIG: Record<DiagnosticRole, DiagnosticRoleConfig> = {
  student: {
    practiceHrefBase: "/student/learning/assignments",
  },
  teacher: {
    practiceHrefBase: "/teacher/questions",
  },
  parent: {
    practiceHrefBase: null,
  },
}

/**
 * 获取指定角色的诊断模块配置。
 * 新增角色时只需在 DIAGNOSTIC_ROLE_CONFIG 中添加配置项。
 */
export function getDiagnosticRoleConfig(role: DiagnosticRole): DiagnosticRoleConfig {
  return DIAGNOSTIC_ROLE_CONFIG[role]
}
