/**
 * 频道优化器
 * 合并重复频道、工具函数
 */

// 合并重复频道
export function mergeChannels(channels) {
  const groupMap = new Map()
  
  for (const ch of channels) {
    const key = `${ch.group}_${ch.name}`
    
    if (!groupMap.has(key)) {
      groupMap.set(key, {
        ...ch,
        sources: []
      })
    }
    
    const item = groupMap.get(key)
    item.sources.push({
      url: ch.url,
      delay: null,
      status: 'unknown',
      speed: 0
    })
  }
  
  // 转换回数组
  return Array.from(groupMap.values())
}

// 获取延迟颜色
export function getDelayColor(delay) {
  if (!delay || delay === 99999) return '#666'
  if (delay < 200) return '#00ff88'
  if (delay < 500) return '#ffcc00'
  return '#ff4444'
}

// 获取状态文本
export function getStatusText(status) {
  const map = {
    'unknown': '未检测',
    'checking': '检测中...',
    'online': '在线',
    'offline': '离线'
  }
  return map[status] || status
}
