--- import { Icon } from 'astro-icon/components'; import Card from '@/components/primitives/Card.astro'; import Eyebrow from '@/components/content/Eyebrow.astro'; import Headline from '@/components/content/Headline.astro'; import Lead from '@/components/content/Lead.astro'; import type { FeatureItemContent } from '@/types/site'; interface Props { item: FeatureItemContent; } const { item } = Astro.props; const lucideMap: Record = { 'shield': 'lucide:shield', 'database': 'lucide:database', 'refresh': 'lucide:refresh-cw', 'eye': 'lucide:eye', 'file-check': 'lucide:file-check', 'layers': 'lucide:layers', 'search': 'lucide:search', 'lock': 'lucide:lock', 'zap': 'lucide:zap', 'clipboard': 'lucide:clipboard-list', 'git-branch': 'lucide:git-branch', 'bar-chart': 'lucide:bar-chart-3', 'activity': 'lucide:activity', 'settings': 'lucide:settings', 'globe': 'lucide:globe', 'users': 'lucide:users', 'check-circle': 'lucide:check-circle', 'archive': 'lucide:archive', 'trending-up': 'lucide:trending-up', 'cpu': 'lucide:cpu', }; const iconName = item.icon ? lucideMap[item.icon] : undefined; ---
{iconName && (
)} {item.eyebrow && {item.eyebrow}} {item.title} {item.description} {(item.meta || item.href) && (
{item.meta && {item.meta}} {item.href && ( Learn more )}
)}