portal/src/components/AppIcon.tsx
jtricerolph ad65e41395 Register Lightbulb icon for lights
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 12:33:57 +00:00

33 lines
1.2 KiB
TypeScript

import {
ClipboardList, ChefHat, Banknote, BedDouble, TrendingUp, Tag,
LayoutGrid, Users, Activity, Home, ScrollText, RefreshCw,
ArrowUpCircle, Wifi, Terminal, Settings, Building2, CalendarClock,
Wrench, BarChart2, Monitor, History, Armchair, UtensilsCrossed,
DollarSign, CalendarDays, Zap, Thermometer, Gauge, CloudSun, ListChecks,
UserCheck, Lightbulb,
} from 'lucide-react'
import type { LucideProps } from 'lucide-react'
type IconComponent = React.ComponentType<LucideProps>
const iconMap: Record<string, IconComponent> = {
ClipboardList, ChefHat, Banknote, BedDouble, TrendingUp, Tag,
LayoutGrid, Users, Activity, Home, ScrollText, RefreshCw,
ArrowUpCircle, Wifi, Terminal, Settings, Building2, CalendarClock,
Wrench, BarChart2, Monitor, History, Armchair, UtensilsCrossed,
DollarSign, CalendarDays, Zap, Thermometer, Gauge, CloudSun, ListChecks,
UserCheck, Lightbulb,
}
interface Props {
name: string
size?: number
color?: string
strokeWidth?: number
}
export function AppIcon({ name, size = 20, color, strokeWidth = 1.75 }: Props) {
const Icon = iconMap[name]
if (!Icon) return null
return <Icon size={size} color={color} strokeWidth={strokeWidth} />
}