"use client"; import { AnimatePresence, motion } from "framer-motion"; import { ArrowRight, ArrowUpRight, Megaphone } from "lucide-react"; import { useState } from "react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; type Hero258Logo = { name: string; src: string; alt: string; className?: string; }; type Hero258Card = { title: string; description: string; image: string; imageAlt: string; href: string; }; interface Hero258Props { announcement?: { text: string; href: string; }; heading?: string; description?: string; cta?: { label: string; href: string; }; logos?: Hero258Logo[]; cards?: Hero258Card[]; className?: string; } const Hero258 = ({ announcement = { text: "به‌روزرسانی هفتگی کامپوننت‌ها", href: "#", }, heading = "رابط‌های کاربری حرفه‌ای را سریع‌تر توسعه دهید", description = "صدها کامپوننت ظریف ساخته‌شده با رابط کاربری، استایل‌دهی مدرن و ری یو آی. مستقیم در پروژه خود کپی کنید و برای تطابق با برندتان سفارشی‌سازی کنید.", cta = { label: "مشاهده کامپوننت‌ها", href: "#", }, logos = [ { name: "Northwind", src: "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-1.svg", alt: "لوگوی شریک", className: "h-6 w-auto", }, { name: "Helios", src: "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-4.svg", alt: "لوگوی شریک", className: "h-6 w-auto", }, { name: "ری یو آی", src: "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-6.svg", alt: "لوگوی شریک", className: "h-6 w-auto", }, { name: "Silverline", src: "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-8.svg", alt: "لوگوی شریک", className: "h-5 w-auto", }, { name: "Orion Systems", src: "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-9.svg", alt: "لوگوی شریک", className: "h-6 w-auto", }, { name: "Crescent", src: "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-11.svg", alt: "لوگوی شریک", className: "h-6 w-auto", }, ], cards = [ { title: "آماده استفاده در پروژه", description: "هر بلاک کد آماده تولید است که مستقیم در پروژه خود کپی می‌کنید. بدون نصب وابستگی یا پیکربندی پیچیده فقط کامپوننت‌های زیبا.", image: "/block-media/shadcnblocks/block/placeholder-1.svg", imageAlt: "ویرایشگر کد با بلاک‌های ری یو آی", href: "#", }, { title: "مبتنی بر رابط کاربری، استایل‌دهی مدرن و ری یو آی", description: "همه بلاک‌ها از کامپوننت‌های ری یو آی و استایل‌دهی مدرن استفاده می‌کنند و سازگاری، دسترس‌پذیری و سفارشی‌سازی آسان برای تطابق با سیستم طراحی شما را تضمین می‌کنند.", image: "/block-media/shadcnblocks/block/placeholder-2.svg", imageAlt: "نمایش کامپوننت‌های ری یو آی", href: "#", }, ], className, }: Hero258Props) => { const [hoveredIndex, setHoveredIndex] = useState(null); return (
{announcement.text}

{heading}

{description}

{logos.length > 0 && (
{logos.map((logo) => (
{logo.alt}
))}
)}
{cards.map((card, index) => { const isHovered = hoveredIndex === index; const isOtherHovered = hoveredIndex !== null && hoveredIndex !== index; return ( setHoveredIndex(index)} onMouseLeave={() => setHoveredIndex(null)} onFocus={() => setHoveredIndex(index)} onBlur={() => setHoveredIndex(null)} tabIndex={0} animate={{ flex: isHovered ? 1.3 : isOtherHovered ? 0.85 : 1, }} transition={{ duration: 0.45, ease: "easeInOut" }} > {card.imageAlt}
); }; export { Hero258 };