/**
 * 获取当前用户有权限的路由列表
 *
 * 【mock 阶段】直接返回写死的数据，模拟后端接口
 * 【对接真实接口时】把下面的 mock 数据替换成：
 *   return axios.get('/api/user/menus').then(res => res.data)
 *
 * 返回格式约定：
 *   path      — 路由路径
 *   name      — 路由名称（唯一标识，也用于 removeRoute）
 *   component — 字符串，对应前端组件映射表的 key
 *   meta      — 可选，传给路由的 meta 信息（图标、标题等）
 */
export interface MenuItemRaw {
  path: string
  name: string
  component: string
  meta?: {
    label?: string
    icon?: string
    badge?: string
    /** 'footer' 表示该菜单项显示在底部区域而非主导航 */
    position?: string
  }
}

export async function fetchUserRoutes(): Promise<MenuItemRaw[]> {
  // TODO: 替换为真实接口 → return axios.get('/api/user/menus').then(res => res.data)
  return [
    { path: '/resume',  name: 'Resume',  component: 'Resume',  meta: { label: '简历', icon: 'nav-resume-icon' } },
    { path: '/profile', name: 'Profile', component: 'Profile', meta: { label: '个人资料', icon: 'nav-profile-icon' } },
    { path: '/agent',   name: 'Agent',   component: 'Agent',   meta: { label: 'AI助手', icon: 'nav-agent-icon',   badge: 'NEW' } },
    { path: '/settings', name: 'Settings', component: 'Settings', meta: { label: '设置', icon: 'nav-setting-icon', position: 'footer' } },
  ]
}
