// ----------------------------------------------------------------------------- // Home-Ka — US real-estate aggregator (Groupe KA) // Author: Simon-Pierre Boucher — contact@spboucher.ai // components/Icons.tsx : HOUSE iconography — 1.7 px strokes on a 24 grid // (zero emoji, zero generic packs). Each icon is a clean stroke path that // inherits the text color (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: (<> ), download: (<> ), // --- 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 ( ); } /** HTML-string version for map popups (outside React). */ export function icoHTML(name: IconName, size = 30): string { const d: Record = { home: '', }; return `${d[name] ?? d.home}`; }