import type { SVGProps } from 'react';

/**
 * Icônes de navigation : tracés REPRIS de la maquette validée (trait 1,75 px,
 * 17 px — charte §5). Lucide sert pour le reste de l'UI ; ici la fidélité
 * pixel prime, la revue compare la sidebar à la maquette.
 */
const base: SVGProps<SVGSVGElement> = {
  viewBox: '0 0 24 24',
  fill: 'none',
  stroke: 'currentColor',
};

export const IcoTableauDeBord = () => (
  <svg {...base}>
    <rect x="3" y="3" width="7" height="9" rx="1" />
    <rect x="14" y="3" width="7" height="5" rx="1" />
    <rect x="14" y="12" width="7" height="9" rx="1" />
    <rect x="3" y="16" width="7" height="5" rx="1" />
  </svg>
);

export const IcoOrdresDeTravail = () => (
  <svg {...base}>
    <path d="M14.7 6.3a4.5 4.5 0 0 0-6 6L3 18v3h3l5.7-5.7a4.5 4.5 0 0 0 6-6l-2.6 2.6-2.4-2.4z" />
  </svg>
);

export const IcoDemandes = () => (
  <svg {...base}>
    <path d="M8 10h8M8 14h5M21 12a9 9 0 1 1-4-7.5" />
  </svg>
);

export const IcoPreventif = () => (
  <svg {...base}>
    <rect x="3" y="4" width="18" height="18" rx="2" />
    <path d="M16 2v4M8 2v4M3 10h18" />
  </svg>
);

export const IcoAscenseurs = () => (
  <svg {...base}>
    <rect x="6" y="2" width="12" height="20" rx="2" />
    <path d="M10 7l2-2 2 2M10 17l2 2 2-2" />
  </svg>
);

export const IcoSites = () => (
  <svg {...base}>
    <path d="M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0z" />
    <circle cx="12" cy="10" r="3" />
  </svg>
);

export const IcoStock = () => (
  <svg {...base}>
    <path d="M21 8l-9-5-9 5v8l9 5 9-5V8zM3.3 8.3L12 13l8.7-4.7M12 13v9" />
  </svg>
);

export const IcoTiers = () => (
  <svg {...base}>
    <path d="M9 21a7 7 0 1 1 6-11l6 6v3h-3l-1-1-2 1-1-2-2 1z" transform="rotate(180 12 12)" />
    <circle cx="9" cy="9" r="1.5" />
  </svg>
);

export const IcoFichiers = () => (
  <svg {...base}>
    <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
    <path d="M14 2v6h6" />
  </svg>
);

export const IcoStatistiques = () => (
  <svg {...base}>
    <path d="M3 3v18h18" />
    <rect x="7" y="12" width="3" height="6" />
    <rect x="12" y="8" width="3" height="10" />
    <rect x="17" y="5" width="3" height="13" />
  </svg>
);

export const IcoPersonnes = () => (
  <svg {...base}>
    <circle cx="9" cy="8" r="3.5" />
    <path d="M2.5 20a6.5 6.5 0 0 1 13 0M17 8a3 3 0 1 1 0 .01M16.5 13.5a6 6 0 0 1 5 6" />
  </svg>
);

export const IcoCategories = () => (
  <svg {...base}>
    <path d="M4 7h16M4 12h16M4 17h10" />
  </svg>
);

export const IcoRecherche = () => (
  <svg {...base}>
    <circle cx="11" cy="11" r="7" />
    <path d="m21 21-4-4" />
  </svg>
);
