// ----------------------------------------------------------------------------- // Immo-Ka — Agrégateur de propriétés à vendre (province de Québec) // Auteur : Simon-Pierre Boucher — contact@spboucher.ai // components/Icons.tsx : iconographie MAISON — traits 1,7 px sur grille 24, // dessinée pour Immo-Ka (zéro emoji, zéro pack générique). Chaque icône est // un tracé « stroke » net qui hérite de la couleur du texte (currentColor). // ----------------------------------------------------------------------------- import { ReactNode } from "react"; const P: Record = { // --- navigation ----------------------------------------------------------- home: (<> ), map: (<> ), chart: (<> ), building: (<> ), // --- specs propriété -------------------------------------------------------- bed: (<> ), bath: (<> ), drop: (<> ), area: (<> ), land: (<> ), calendar: (<> ), tag: (<> ), camera: (<> ), // --- actions / états ---------------------------------------------------------- search: (<> ), arrow: (<> ), check: (), alert: (<> ), phone: (), trendup: (<> ), trenddown: (<> ), external: (<> ), pin: (<> ), // --- quartier --------------------------------------------------------------------- leaf: (<> ), thermo: (<> ), sun: (<> ), shield: (<> ), cart: (<> ), bus: (<> ), tree: (<> ), school: (<> ), health: (<> ), pill: (<> ), people: (<> ), }; export type IconName = keyof typeof P; export function Ico({ name, size = 18, className = "", stroke = 1.7 }: { name: IconName | string; size?: number; className?: string; stroke?: number }) { const paths = P[name as IconName]; if (!paths) return null; return ( ); } /** Version « chaîne HTML » pour les popups MapLibre (hors React). */ export function icoHTML(name: IconName, size = 30): string { const d: Record = { home: '', }; return `${d[name] ?? d.home}`; }