/**
 * Ícones SVG inline.
 *
 * Sem emojis na UI (regra do CLAUDE.md). Traço de 1.5, 20px, currentColor,
 * cantos rectos para acompanhar o resto do sistema.
 */

function Icon({ children, size = 20, className = '' }) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 24"
      fill="none"
      stroke="currentColor"
      strokeWidth="1.5"
      strokeLinecap="square"
      strokeLinejoin="miter"
      aria-hidden="true"
      className={className}
    >
      {children}
    </svg>
  );
}

const IconDashboard = p => (
  <Icon {...p}>
    <rect x="3" y="3" width="7" height="9" />
    <rect x="14" y="3" width="7" height="5" />
    <rect x="14" y="12" width="7" height="9" />
    <rect x="3" y="16" width="7" height="5" />
  </Icon>
);

const IconCampanhas = p => (
  <Icon {...p}>
    <path d="M3 10v4h4l6 4V6l-6 4H3z" />
    <path d="M17 9a4 4 0 0 1 0 6" />
  </Icon>
);

const IconLojas = p => (
  <Icon {...p}>
    <path d="M3 9l1.5-5h15L21 9" />
    <path d="M4 9v11h16V9" />
    <path d="M9 20v-6h6v6" />
  </Icon>
);

const IconPaineis = p => (
  <Icon {...p}>
    <rect x="2" y="4" width="20" height="13" />
    <path d="M8 21h8M12 17v4" />
    <path d="M7 9h3M14 9h3M7 12h10" />
  </Icon>
);

const IconResultados = p => (
  <Icon {...p}>
    <path d="M3 3v18h18" />
    <path d="M7 15v-4M12 17V7M17 17v-7" />
  </Icon>
);

const IconConfiguracao = p => (
  <Icon {...p}>
    <path d="M4 6h16M4 12h16M4 18h16" />
    <rect x="7" y="4" width="3" height="4" />
    <rect x="14" y="10" width="3" height="4" />
    <rect x="9" y="16" width="3" height="4" />
  </Icon>
);

const IconConhecimento = p => (
  <Icon {...p}>
    <path d="M4 5a2 2 0 0 1 2-2h5v18H6a2 2 0 0 1-2-2z" />
    <path d="M20 5a2 2 0 0 0-2-2h-5v18h5a2 2 0 0 0 2-2z" />
    <path d="M7 7h2M7 10h2M15 7h2M15 10h2" />
  </Icon>
);

const IconBiblioteca = p => (
  <Icon {...p}>
    <rect x="3" y="4" width="7" height="16" />
    <rect x="12" y="9" width="9" height="11" />
    <path d="M12 9l2-5 7 2-2 4" />
  </Icon>
);

const IconAdmin = p => (
  <Icon {...p}>
    <path d="M12 3l8 3v5c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6l8-3z" />
    <path d="M9 12l2 2 4-4" />
  </Icon>
);

const IconSair = p => (
  <Icon {...p}>
    <path d="M14 3H5v18h9" />
    <path d="M19 12H9M16 8l4 4-4 4" />
  </Icon>
);

const IconMenu = p => (
  <Icon {...p}>
    <path d="M3 6h18M3 12h18M3 18h18" />
  </Icon>
);

const IconFechar = p => (
  <Icon {...p}>
    <path d="M5 5l14 14M19 5L5 19" />
  </Icon>
);

// ─── Canais ──────────────────────────────────────────────────────────

const IconSocial = p => (
  <Icon {...p}>
    <rect x="3" y="3" width="4" height="4" />
    <rect x="17" y="3" width="4" height="4" />
    <rect x="10" y="17" width="4" height="4" />
    <path d="M7 5h10M5 7l6 10M19 7l-6 10" />
  </Icon>
);

const IconDooh = p => (
  <Icon {...p}>
    <rect x="3" y="3" width="18" height="12" />
    <path d="M7 7h2M11 7h2M15 7h2M7 11h2M11 11h2M15 11h2" />
    <path d="M12 15v6M8 21h8" />
  </Icon>
);

const IconPdv = p => (
  <Icon {...p}>
    <path d="M4 4h16v12h-9l-5 4v-4H4z" />
    <path d="M8 9h8M8 12h5" />
  </Icon>
);

// ─── Estados e acções ────────────────────────────────────────────────

const IconCheck = p => (
  <Icon {...p}>
    <path d="M4 12l5 5L20 6" />
  </Icon>
);

const IconRelogio = p => (
  <Icon {...p}>
    <rect x="3" y="3" width="18" height="18" />
    <path d="M12 7v5l3 3" />
  </Icon>
);

const IconAlerta = p => (
  <Icon {...p}>
    <path d="M12 3l10 18H2L12 3z" />
    <path d="M12 10v5M12 17.5v.5" />
  </Icon>
);

// O sino das notificações (9 Out, components/sino.jsx).
const IconSino = p => (
  <Icon {...p}>
    <path d="M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15L6 16z" />
    <path d="M10 20.5h4" />
  </Icon>
);

const IconSeta = p => (
  <Icon {...p}>
    <path d="M5 12h14M13 6l6 6-6 6" />
  </Icon>
);

/** O Agente PM. Uma faísca de quatro pontas, recta como o resto. */
const IconAgente = p => (
  <Icon {...p}>
    <path d="M12 3v5M12 16v5M3 12h5M16 12h5" />
    <path d="M9 9l6 6M15 9l-6 6" />
  </Icon>
);

const IconMais = p => (
  <Icon {...p}>
    <path d="M12 5v14M5 12h14" />
  </Icon>
);
