/**
 * 角色到默认路由的解析（P0-6 解耦修复）
 *
 * 抽取自 `proxy.ts` 与 `onboarding/data-access.ts` 中重复的
 * `resolveDefaultPath` 实现，确保两处路由解析行为一致。
 *
 * 优先级：admin > grade_head/teaching_head > teacher > student > parent。
 * 未知角色回退到 `/dashboard`。
 *
 * 注意：此模块不导入 `server-only`，可在 proxy.ts（edge 运行时）中使用。
 */

import { normalizeRole } from "@/shared/lib/role-utils"

/**
 * 根据角色列表解析默认登录后路由。
 *
 * @param roles 原始角色名数组（来自 JWT/session/DB，可为大小写不一致的字符串）
 * @returns 默认路由路径，如 `/admin/dashboard`
 */
export function resolveDefaultPath(roles: string[]): string {
  const normalized = roles.map((r) => normalizeRole(r))

  if (normalized.includes("admin")) return "/admin/dashboard"
  if (
    normalized.includes("grade_head") ||
    normalized.includes("teaching_head")
  ) {
    return "/teacher/dashboard"
  }
  if (normalized.includes("teacher")) return "/teacher/dashboard"
  if (normalized.includes("student")) return "/student/dashboard"
  if (normalized.includes("parent")) return "/parent/dashboard"
  return "/dashboard"
}
