"use client"; import { ArrowLeft, ArrowRight } from "lucide-react"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import type { CarouselApi } from "@/components/ui/carousel"; import { Carousel, CarouselContent, CarouselItem, } from "@/components/ui/carousel"; import { cn } from "@/lib/utils"; export interface Gallery4Item { id: string; title: string; description: string; href: string; image: string; } export interface Gallery4Props { title?: string; description?: string; items?: Gallery4Item[]; className?: string; } const data: Gallery4Item[] = [ { id: "shadcn-ui", title: "ری یو آی: ساخت کتابخانه مدرن کامپوننت", description: "ببینید ری یو آی چگونه کتابخانه‌های کامپوننت رابط کاربری را با رویکردی یکتا در توزیع و سفارشی‌سازی متحول کرد و ساخت اپلیکیشن‌های زیبا و در دسترس را برای توسعه‌دهندگان ساده‌تر کرد.", href: "https://ui.shadcn.com", image: "/block-media/external/unsplash/2.jpg", }, { id: "tailwind", title: "استایل‌دهی مدرن: انقلاب utility-first", description: "کشف کنید استایل‌دهی مدرن چگونه روش استایل‌دهی توسعه‌دهندگان را تغییر داد؛ رویکرد utility-first که سرعت توسعه را بالا می‌برد و انعطاف طراحی را حفظ می‌کند.", href: "https://tailwindcss.com", image: "/block-media/external/unsplash/photo-1551250928-e4a05afaed1e.jpg", }, { id: "astro", title: "Astro: فریم‌ورک همه‌کاره وب", description: "بیاموزید معماری Islands و رویکرد zero-JS-by-default در Astro چگونه به توسعه‌دهندگان کمک می‌کند وب‌سایت‌های سریع‌تر بسازند و در عین حال تعامل غنی داشته باشند.", href: "https://astro.build", image: "/block-media/external/unsplash/photo-1536735561749-fc87494598cb.jpg", }, { id: "react", title: "رابط کاربری: پیشگام رابط کاربری مبتنی بر کامپوننت", description: "ببینید رابط کاربری با معماری مبتنی بر کامپوننت چگونه همچنان توسعه وب مدرن را شکل می‌دهد و ساخت رابط‌های پیچیده با کد قابل استفاده مجدد را ممکن می‌کند.", href: "https://react.dev", image: "/block-media/external/unsplash/4.jpg", }, { id: "nextjs", title: "فریم‌ورک وب: فریم‌ورک رابط کاربری برای پروداکشن", description: "کشف کنید فریم‌ورک وب چگونه به فریم‌ورک اصلی ساخت اپلیکیشن‌های full-stack رابط کاربری تبدیل شده؛ با server component، مسیریابی فایل‌محور و بهینه‌سازی خودکار.", href: "https://nextjs.org", image: "/block-media/external/unsplash/photo-1550070881-a5d71eda5800.jpg", }, ]; const Gallery4 = ({ title = "مطالعات موردی", description = "ببینید شرکت‌ها چگونه با پلتفرم CRM و بازاریابی ما درآمد و نرخ تبدیل خود را افزایش داده‌اند. این مطالعات موردی کاربردهای واقعی و نتایج قابل اندازه‌گیری را نشان می‌دهند.", items = data, className, }: Gallery4Props) => { const [carouselApi, setCarouselApi] = useState(); const [canScrollPrev, setCanScrollPrev] = useState(false); const [canScrollNext, setCanScrollNext] = useState(false); const [currentSlide, setCurrentSlide] = useState(0); useEffect(() => { if (!carouselApi) { return; } const updateSelection = () => { setCanScrollPrev(carouselApi.canScrollPrev()); setCanScrollNext(carouselApi.canScrollNext()); setCurrentSlide(carouselApi.selectedScrollSnap()); }; updateSelection(); carouselApi.on("select", updateSelection); return () => { carouselApi.off("select", updateSelection); }; }, [carouselApi]); useEffect(() => { if (!carouselApi) { return; } carouselApi.reInit(); }, [carouselApi]); return (

{title}

{description}

{items.map((item) => (
{item.title}
{item.title}
{item.description}
بیشتر بخوانید{" "}
))}
{items.map((_, index) => (
); }; export { Gallery4 };