65 lines
1.1 KiB
TypeScript
65 lines
1.1 KiB
TypeScript
import {
|
|
ArrowLeft,
|
|
BarChart3,
|
|
Bell,
|
|
BicepsFlexed,
|
|
Building2,
|
|
Check,
|
|
Cloud,
|
|
Dumbbell,
|
|
FileText,
|
|
Headset,
|
|
Leaf,
|
|
Mail,
|
|
MapPin,
|
|
Phone,
|
|
SportShoe,
|
|
Star,
|
|
ThumbsUp,
|
|
TrendingUp,
|
|
UserCircle,
|
|
Users,
|
|
Wallet,
|
|
type LucideIcon as LucideIconComponent,
|
|
} from "lucide-react"
|
|
|
|
import { cn } from "@/lib/utils"
|
|
|
|
export const landingIcons = {
|
|
arrowLeft: ArrowLeft,
|
|
mail: Mail,
|
|
phone: Phone,
|
|
mapPin: MapPin,
|
|
headset: Headset,
|
|
users: Users,
|
|
userCircle: UserCircle,
|
|
coach: Dumbbell,
|
|
biceps: BicepsFlexed,
|
|
sportShoe: SportShoe,
|
|
dumbbell: Dumbbell,
|
|
trendingUp: TrendingUp,
|
|
chart: BarChart3,
|
|
fileText: FileText,
|
|
leaf: Leaf,
|
|
wallet: Wallet,
|
|
bell: Bell,
|
|
cloud: Cloud,
|
|
building: Building2,
|
|
thumbsUp: ThumbsUp,
|
|
star: Star,
|
|
check: Check,
|
|
} as const satisfies Record<string, LucideIconComponent>
|
|
|
|
export type LandingIconName = keyof typeof landingIcons
|
|
|
|
type LucideIconProps = {
|
|
name: LandingIconName
|
|
className?: string
|
|
}
|
|
|
|
export function LucideIcon({ name, className }: LucideIconProps) {
|
|
const Icon = landingIcons[name] ?? Users
|
|
|
|
return <Icon className={cn("size-6 shrink-0", className)} aria-hidden />
|
|
}
|