// Inline SVG icon set — minimal, original strokes

const Icon = ({ name, size = 16, stroke = 1.6, ...rest }) => {
  const props = {
    width: size, height: size, viewBox: '0 0 24 24',
    fill: 'none', stroke: 'currentColor', strokeWidth: stroke,
    strokeLinecap: 'round', strokeLinejoin: 'round', ...rest
  };
  switch (name) {
    case 'oracle': // diamond eye logo
      return (<svg {...props}>
        <path d="M12 2 L22 12 L12 22 L2 12 Z" />
        <circle cx="12" cy="12" r="3.2" />
        <circle cx="12" cy="12" r="1" fill="currentColor" />
      </svg>);
    case 'search': return (<svg {...props}><circle cx="11" cy="11" r="7" /><path d="m20 20-3.5-3.5" /></svg>);
    case 'shield': return (<svg {...props}><path d="M12 3 4 6v6c0 5 4 8 8 9 4-1 8-4 8-9V6l-8-3Z" /><path d="m9 12 2 2 4-4" /></svg>);
    case 'droplet': return (<svg {...props}><path d="M12 3c-3 4-6 7-6 11a6 6 0 0 0 12 0c0-4-3-7-6-11Z" /></svg>);
    case 'users': return (<svg {...props}><circle cx="9" cy="9" r="3.5" /><path d="M3 20c0-3 3-5 6-5s6 2 6 5" /><circle cx="17" cy="8" r="2.5" /><path d="M16 14c2 .5 4 1.8 4 4" /></svg>);
    case 'trend': return (<svg {...props}><path d="m3 17 6-6 4 4 8-8" /><path d="M14 7h7v7" /></svg>);
    case 'broadcast': return (<svg {...props}><circle cx="12" cy="12" r="2" /><path d="M8.5 8.5a5 5 0 0 0 0 7" /><path d="M15.5 8.5a5 5 0 0 1 0 7" /><path d="M5.5 5.5a9 9 0 0 0 0 13" /><path d="M18.5 5.5a9 9 0 0 1 0 13" /></svg>);
    case 'sparkles': return (<svg {...props}><path d="M12 3v6M12 15v6M3 12h6M15 12h6" /><path d="m6 6 3 3M15 15l3 3M18 6l-3 3M9 15l-3 3" /></svg>);
    case 'message': return (<svg {...props}><path d="M4 5h16v12H8l-4 4V5Z" /></svg>);
    case 'star': return (<svg {...props}><path d="m12 3 2.6 5.6 6 .8-4.4 4.2 1.1 6L12 16.8 6.6 19.6 7.8 13.6 3.4 9.4l6-.8L12 3Z" /></svg>);
    case 'history': return (<svg {...props}><path d="M3 12a9 9 0 1 0 3-6.7" /><path d="M3 4v5h5" /><path d="M12 7v5l3 2" /></svg>);
    case 'plus': return (<svg {...props}><path d="M12 5v14M5 12h14" /></svg>);
    case 'send': return (<svg {...props}><path d="m4 12 16-8-5 18-4-7-7-3Z" /></svg>);
    case 'check': return (<svg {...props}><path d="m5 12 4 4 10-10" /></svg>);
    case 'x': return (<svg {...props}><path d="M6 6l12 12M18 6 6 18" /></svg>);
    case 'arrow-right': return (<svg {...props}><path d="M5 12h14M13 6l6 6-6 6" /></svg>);
    case 'arrow-up': return (<svg {...props}><path d="M12 19V5M6 11l6-6 6 6" /></svg>);
    case 'arrow-down': return (<svg {...props}><path d="M12 5v14M6 13l6 6 6-6" /></svg>);
    case 'copy': return (<svg {...props}><rect x="8" y="8" width="12" height="12" rx="2" /><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" /></svg>);
    case 'refresh': return (<svg {...props}><path d="M3 12a9 9 0 0 1 15-6.7L21 8" /><path d="M21 3v5h-5" /><path d="M21 12a9 9 0 0 1-15 6.7L3 16" /><path d="M3 21v-5h5" /></svg>);
    case 'external': return (<svg {...props}><path d="M14 4h6v6" /><path d="M20 4 10 14" /><path d="M20 14v6H4V4h6" /></svg>);
    case 'warning': return (<svg {...props}><path d="M12 4 2.5 20h19L12 4Z" /><path d="M12 10v5M12 18.5v.01" /></svg>);
    case 'spark': return (<svg {...props}><path d="M12 3v4M12 17v4M3 12h4M17 12h4" /></svg>);
    case 'lightning': return (<svg {...props}><path d="M13 2 4 14h7l-2 8 9-12h-7l2-8Z" /></svg>);
    case 'eye': return (<svg {...props}><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z" /><circle cx="12" cy="12" r="3" /></svg>);
    default: return null;
  }
};

window.Icon = Icon;
