/**
 * 获取所有 homeIcon 图标
 */
export async function getHomeIcons(): Promise<Array<{ name: string; url: string }>> {
  const icons: Array<{ name: string; url: string }> = [];
  
  // 使用 import.meta.glob 动态导入所有图标
  const modules = import.meta.glob('./*.png', { eager: true });
  
  for (const path in modules) {
    const module = modules[path] as { default: string };
    const fileName = path.split('/').pop()?.replace('.png', '') || '';
    // 排除 IconSelect 组件文件，只处理图标文件
    if (fileName && fileName !== 'IconSelect' && fileName.includes('@2x')) {
      // 移除 @2x 后缀作为图标名称
      const iconName = fileName.replace('@2x', '');
      icons.push({
        name: iconName,
        url: module.default
      });
    }
  }
  
  return icons.sort((a, b) => a.name.localeCompare(b.name));
}

/**
 * 获取图标的显示名称（将英文名称转换为中文）
 */
export function getIconDisplayName(iconName: string): string {
  const nameMap: Record<string, string> = {
    'my_goals': '我的目标',
    'my_tasks': '我的任务',
    'at_my_tasks': '@我的任务',
    'my_briefing': '我的简报',
    'briefing_draft': '简报草稿',
    'personal_performance': '个人绩效',
    'my_leads': '我的线索',
    'public_leads': '公共线索',
    'all_customers': '全部客户',
    'public_sea_customers': '公海客户',
    'key_customers': '重点客户',
    'follow_up_records': '跟进记录',
    'contacts': '联系人',
    'my_opportunities': '我的商机',
    'my_orders': '我的订单',
    'all_tasks': '全部任务',
    'payslip': '工资条',
    'monthly_attendance_report': '月考勤报表',
    'leave_balance': '假期余额',
    'social_security_payment_records': '社保缴纳记录',
    'provident_fund_payment_records': '公积金缴纳记录',
    'command_center': '指挥中心',
    'data_center': '数据中心',
    'tasks': '任务',
    'test': '测试',
    'my_projects': '我的项目',
    'procurement_management': '采购管理'
  };
  
  return nameMap[iconName] || iconName;
}

/**
 * 根据图标名称获取图标路径
 */
export function getIconPath(iconName: string): string {
  // 如果已经包含 @2x，直接使用，否则添加
  const fileName = iconName.includes('@2x') ? iconName : `${iconName}@2x.png`;
  try {
    return new URL(`./${fileName}`, import.meta.url).href;
  } catch (error) {
    // 如果动态导入失败，使用静态路径
    return `/src/assets/homeIcon/${fileName}`;
  }
}

