"use client"; import { motion } from "framer-motion"; import { AudioLines, Globe, Heart, TrophyIcon, type LucideIcon, } from "lucide-react"; import React, { useState } from "react"; import { cn } from "@/lib/utils"; interface FeatureChip { icon: LucideIcon; value: string; label: string; } interface FeatureData { id: number; img: string; link: string; title: string; description: string; chips: FeatureChip[]; } interface Gallery34Props { featureData?: FeatureData[]; className?: string; } const formatCount = (value: string) => { const match = value.match(/^(\d+)(.*)$/); if (!match) return value; return `${new Intl.NumberFormat("fa-IR").format(Number(match[1]))}${match[2]}`; }; const defaultFeatureData: FeatureData[] = [ { id: 1, img: "/block-media/shadcnblocks/block/guri3/img7.jpeg", link: "#", title: "مجموعه گرید چیدمان تیر نسخه ۲", description: "#مجموعه-بلاک-تیر", chips: [ { icon: TrophyIcon, value: "50+", label: "جایزه" }, { icon: Globe, value: "50+", label: "بازار جهانی" }, { icon: AudioLines, value: "50+", label: "محتوای صوتی" }, ], }, { id: 2, img: "/block-media/shadcnblocks/block/guri3/img6.jpeg", link: "#", title: "بسته کامپوننت‌های رابط مدرن", description: "#کامپوننت-مدرن", chips: [ { icon: TrophyIcon, value: "75+", label: "جایزه" }, { icon: Globe, value: "60+", label: "بازار جهانی" }, { icon: AudioLines, value: "45+", label: "محتوای صوتی" }, ], }, { id: 3, img: "/block-media/shadcnblocks/block/guri3/img14.jpeg", link: "#", title: "سیستم طراحی واکنش‌گرا", description: "#طراحی-واکنش‌گرا", chips: [ { icon: TrophyIcon, value: "90+", label: "جایزه" }, { icon: Globe, value: "80+", label: "بازار جهانی" }, { icon: AudioLines, value: "65+", label: "محتوای صوتی" }, ], }, { id: 4, img: "/block-media/shadcnblocks/block/guri3/img25.jpeg", link: "#", title: "کیت انیمیشن تعاملی", description: "#انیمیشن", chips: [ { icon: TrophyIcon, value: "40+", label: "جایزه" }, { icon: Globe, value: "35+", label: "بازار جهانی" }, { icon: AudioLines, value: "55+", label: "محتوای صوتی" }, ], }, { id: 5, img: "/block-media/shadcnblocks/block/guri3/img11.jpeg", link: "#", title: "کامپوننت‌های حالت تیره", description: "#حالت-تیره", chips: [ { icon: TrophyIcon, value: "65+", label: "جایزه" }, { icon: Globe, value: "70+", label: "بازار جهانی" }, { icon: AudioLines, value: "50+", label: "محتوای صوتی" }, ], }, { id: 6, img: "/block-media/shadcnblocks/block/guri3/img12.jpeg", link: "#", title: "بسته قالب فروشگاه آنلاین", description: "#فروشگاه-آنلاین", chips: [ { icon: TrophyIcon, value: "85+", label: "جایزه" }, { icon: Globe, value: "90+", label: "بازار جهانی" }, { icon: AudioLines, value: "75+", label: "محتوای صوتی" }, ], }, ]; const Gallery34 = ({ featureData = defaultFeatureData, className, }: Gallery34Props) => { const [hoveredIndex, setHoveredIndex] = useState(null); return (
{featureData.map((item, index) => ( setHoveredIndex(index)} onMouseLeave={() => setHoveredIndex(null)} className="relative block overflow-hidden rounded-3xl bg-muted p-2 transition-colors hover:bg-muted/80" aria-label={item.title} >

{item.title}

{item.description}

{item.chips.map((chip, chipIndex) => { const IconComponent = chip.icon; return ( {formatCount(chip.value)} ); })}
))}
); }; export { Gallery34 };