// Dashboard ikon seti — tüm inline SVG, varsayılan 16x16
const DashIcon = ({ name, size = 16, color = 'currentColor' }) => {
  const p = { width: size, height: size, viewBox: '0 0 16 16', fill: 'none', stroke: color, strokeWidth: 1.4, strokeLinecap: 'round', strokeLinejoin: 'round' };
  switch (name) {
    case 'overview':      return <svg {...p}><rect x="2" y="2" width="5" height="5" rx="1"/><rect x="9" y="2" width="5" height="5" rx="1"/><rect x="2" y="9" width="5" height="5" rx="1"/><rect x="9" y="9" width="5" height="5" rx="1"/></svg>;
    case 'energy':        return <svg {...p}><path d="M9 2L5 9h4l-2 5 6-7H9l2-5z" fill="none"/></svg>;
    case 'production':    return <svg {...p}><path d="M2 12L5 8l3 2 3-4 3 2"/><path d="M2 14h12"/></svg>;
    case 'machine':       return <svg {...p}><rect x="2" y="5" width="12" height="8" rx="1"/><path d="M5 5V3M11 5V3M2 9h12"/></svg>;
    case 'workorder':     return <svg {...p}><rect x="3" y="2" width="10" height="12" rx="1"/><path d="M6 6h4M6 9h4M6 12h2"/></svg>;
    case 'alarm':         return <svg {...p}><path d="M8 2L2 13h12L8 2z"/><path d="M8 7v3M8 11.5v.5"/></svg>;
    case 'report':        return <svg {...p}><rect x="3" y="2" width="10" height="12" rx="1"/><path d="M6 6h4M6 9h4M6 12h4"/><path d="M10 2v3H3"/></svg>;
    case 'ai':            return <svg {...p}><circle cx="8" cy="8" r="3"/><path d="M8 2v1M8 13v1M2 8h1M13 8h1M3.8 3.8l.7.7M11.5 11.5l.7.7M11.5 3.8l-.7.7M4.5 11.5l-.7.7"/></svg>;
    case 'settings':      return <svg {...p}><circle cx="8" cy="8" r="2.5"/><path d="M8 1.5v1M8 13.5v1M1.5 8h1M13.5 8h1M3.3 3.3l.7.7M12 12l.7.7M12 3.3l-.7.7M4 12l-.7.7"/></svg>;
    case 'chevron-right': return <svg {...p}><path d="M6 4l4 4-4 4"/></svg>;
    case 'chevron-down':  return <svg {...p}><path d="M4 6l4 4 4-4"/></svg>;
    case 'bell':          return <svg {...p}><path d="M8 2a4 4 0 014 4v3l1 2H3l1-2V6a4 4 0 014-4z"/><path d="M6.5 13a1.5 1.5 0 003 0"/></svg>;
    case 'search':        return <svg {...p}><circle cx="7" cy="7" r="4.5"/><path d="M10.5 10.5L13.5 13.5"/></svg>;
    case 'trend-up':      return <svg {...p} strokeWidth={1.6}><path d="M2 11l4-4 3 3 5-6"/><path d="M10 4h4v4"/></svg>;
    case 'trend-down':    return <svg {...p} strokeWidth={1.6}><path d="M2 5l4 4 3-3 5 6"/><path d="M10 12h4V8"/></svg>;
    case 'minus':         return <svg {...p}><path d="M3 8h10"/></svg>;
    case 'user':          return <svg {...p}><circle cx="8" cy="5.5" r="2.5"/><path d="M3 13c0-2.76 2.24-5 5-5s5 2.24 5 5"/></svg>;
    case 'dot':           return <svg {...p} strokeWidth={0}><circle cx="8" cy="8" r="4" fill={color}/></svg>;
    case 'refresh':       return <svg {...p}><path d="M13 2.5A6 6 0 118 14"/><path d="M8 10l0 4-4 0"/></svg>;
    case 'external':      return <svg {...p}><path d="M7 3H3a1 1 0 00-1 1v9a1 1 0 001 1h9a1 1 0 001-1V9"/><path d="M10 2h4v4"/><path d="M14 2L8 8"/></svg>;
    case 'cpu':           return <svg {...p}><rect x="4" y="4" width="8" height="8" rx="1"/><path d="M6 1v3M10 1v3M6 12v3M10 12v3M1 6h3M12 6h3M1 10h3M12 10h3"/></svg>;
    case 'zap':           return <svg {...p} fill="none"><path d="M10 2L6 9h4l-2 5 6-7H10l2-5z"/></svg>;
    case 'activity':      return <svg {...p}><path d="M2 8h2l2-5 2 10 2-7 2 4 1-2h1"/></svg>;
    case 'server':        return <svg {...p}><rect x="3" y="2" width="10" height="4" rx="1"/><rect x="3" y="10" width="10" height="4" rx="1"/><path d="M8 6v4"/><circle cx="5.5" cy="4" r="0.8" fill={color} stroke="none"/><circle cx="5.5" cy="12" r="0.8" fill={color} stroke="none"/></svg>;
    case 'close':         return <svg {...p}><path d="M4 4l8 8M12 4l-8 8"/></svg>;
    case 'plus':          return <svg {...p}><path d="M8 3v10M3 8h10"/></svg>;
    case 'download':      return <svg {...p}><path d="M8 2v8m0 0l-3-3m3 3l3-3M3 13h10"/></svg>;
    case 'check':         return <svg {...p}><path d="M3 8.5L6.5 12L13 4.5"/></svg>;
    default: return <svg {...p}><circle cx="8" cy="8" r="5"/></svg>;
  }
};

Object.assign(window, { DashIcon });
