// icons.jsx — minimal stroke icons for sidebar + chrome
const I = (props) => {
  const { name, size = 18, stroke = 1.6, ...rest } = props;
  const paths = ICON_PATHS[name];
  if (!paths) return null;
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 24"
      fill="none"
      stroke="currentColor"
      strokeWidth={stroke}
      strokeLinecap="round"
      strokeLinejoin="round"
      {...rest}
    >
      {paths}
    </svg>
  );
};

const ICON_PATHS = {
  menu: (<><path d="M4 7h16"/><path d="M4 12h16"/><path d="M4 17h16"/></>),
  dashboard: (<><rect x="3" y="3" width="7" height="9" rx="1.5"/><rect x="14" y="3" width="7" height="5" rx="1.5"/><rect x="14" y="12" width="7" height="9" rx="1.5"/><rect x="3" y="16" width="7" height="5" rx="1.5"/></>),
  profile: (<><circle cx="12" cy="8" r="3.5"/><path d="M5 20c1.2-3.5 4-5 7-5s5.8 1.5 7 5"/></>),
  signals: (<><path d="M4 12h3l2-6 4 12 2-6h5"/></>),
  connections: (<><circle cx="6" cy="6" r="2.4"/><circle cx="18" cy="6" r="2.4"/><circle cx="12" cy="18" r="2.4"/><path d="M7.8 7.2L10.5 16M16.2 7.2L13.5 16M8.4 6h7.2"/></>),
  ping: (<><path d="M6 8a6 6 0 0112 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 18a2 2 0 004 0"/></>),
  scan: (<><path d="M4 8V5a1 1 0 011-1h3M20 8V5a1 1 0 00-1-1h-3M4 16v3a1 1 0 001 1h3M20 16v3a1 1 0 01-1 1h-3"/><path d="M4 12h16"/></>),
  events: (<><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M8 3v4M16 3v4M3 10h18"/></>),
  analytics: (<><path d="M4 20V10M10 20V4M16 20v-6M22 20H2"/></>),
  wallet: (<><rect x="3" y="6" width="18" height="13" rx="2"/><path d="M3 10h18M17 15h.01"/></>),
  settings: (<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 01-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 010-4h.1A1.7 1.7 0 004.6 9a1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 014 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 010 4h-.1a1.7 1.7 0 00-1.5 1z"/></>),
  search: (<><circle cx="11" cy="11" r="7"/><path d="M21 21l-4-4"/></>),
  bell: (<><path d="M6 8a6 6 0 0112 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 18a2 2 0 004 0"/></>),
  plus: (<><path d="M12 5v14M5 12h14"/></>),
  broadcast: (<><path d="M4 12a8 8 0 0116 0M7 12a5 5 0 0110 0M10 12a2 2 0 014 0"/><circle cx="12" cy="12" r="1"/></>),
  chevron: (<><path d="M9 6l6 6-6 6"/></>),
  chevronDown: (<><path d="M6 9l6 6 6-6"/></>),
  check: (<><path d="M5 12l5 5L20 7"/></>),
  external: (<><path d="M14 4h6v6M10 14L20 4M19 13v5a2 2 0 01-2 2H6a2 2 0 01-2-2V7a2 2 0 012-2h5"/></>),
  eye: (<><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"/></>),
  send: (<><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"/></>),
  link: (<><path d="M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1"/><path d="M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1"/></>),
  copy: (<><rect x="8" y="8" width="13" height="13" rx="2"/><path d="M16 8V5a2 2 0 00-2-2H5a2 2 0 00-2 2v9a2 2 0 002 2h3"/></>),
  qr: (<><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><path d="M14 14h3v3M20 14v3M14 20h3M20 17v4"/></>),
  nfc: (<><path d="M5 12a7 7 0 0114 0"/><path d="M8 12a4 4 0 018 0"/><circle cx="12" cy="12" r="1"/></>),
  share: (<><circle cx="6" cy="12" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="18" cy="18" r="3"/><path d="M8.6 10.5l6.8-3M8.6 13.5l6.8 3"/></>),
  edit: (<><path d="M11 4h-7v16h16v-7"/><path d="M18 2l4 4-10 10H8v-4z"/></>),
  filter: (<><path d="M3 5h18l-7 9v6l-4-2v-4z"/></>),
  refresh: (<><path d="M3 12a9 9 0 0115-6.7L21 8M21 3v5h-5M21 12a9 9 0 01-15 6.7L3 16M3 21v-5h5"/></>),
  arrow: (<><path d="M5 12h14M12 5l7 7-7 7"/></>),
  trash: (<><path d="M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2M6 6l1 14a2 2 0 002 2h6a2 2 0 002-2l1-14"/></>),
  badgeCheck: (<><path d="M3.7 8.7l1.6-3 3.3-.8L11 2l2.4 2.9 3.3.8 1.6 3 2.6 2.3-.9 3.3.9 3.3-2.6 2.3-1.6 3-3.3.8L11 22l-2.4-2.9-3.3-.8-1.6-3L1.1 13l.9-3.3-.9-3.3z"/><path d="M8 12l3 3 5-5"/></>),
  pin: (<><path d="M12 2v8M12 16v6M5 6a7 7 0 0114 0c0 4-4 5-7 10-3-5-7-6-7-10z"/></>),
  // brand-style platform glyphs (abstract, not real logos)
  pYoutube: (<><rect x="2" y="6" width="20" height="12" rx="3"/><path d="M10 9.5v5l4-2.5z" fill="currentColor"/></>),
  pInsta: (<><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="0.8" fill="currentColor"/></>),
  pLinkedin: (<><rect x="3" y="3" width="18" height="18" rx="3"/><path d="M8 10v7M8 7v.01M12 17v-4a2 2 0 014 0v4M12 10v7"/></>),
  pX: (<><path d="M4 4l16 16M20 4L4 20"/></>),
  pPodcast: (<><circle cx="12" cy="12" r="3"/><path d="M7 12a5 5 0 0110 0M4 12a8 8 0 0116 0"/><path d="M12 15v6M10 21h4"/></>),
  pBlog: (<><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 8h8M8 12h8M8 16h5"/></>),
  pTiktok: (<><path d="M14 3v10a4 4 0 11-4-4M14 3a4 4 0 004 4"/></>),
};

Object.assign(window, { I });
