"use client"; import { motion } from "framer-motion"; import { ArrowUpRight } from "lucide-react"; import React, { useEffect, useRef, useState } from "react"; import { BorderButton } from "@/components/shadcnblocks/border-button"; import { cn } from "@/lib/utils"; // Custom hook to get previous value const usePrevious = (value: T): T | undefined => { const [prev, setPrev] = useState(undefined); const ref = useRef(value); useEffect(() => { setPrev(ref.current); ref.current = value; }, [value]); return prev; }; interface Services21Props { className?: string; } const Services21 = ({ className }: Services21Props) => { const services = [ { id: "{۱}", title: "کشف و ممیزی", image: "/block-media/shadcnblocks/block/guri4/img11.png", description: "قیف، داده و فرآیند فعلی را بررسی می‌کنیم تا گلوگاه‌های جذب، تبدیل و نگهداشت مشخص شوند و اولویت‌ها بر اساس اثر درآمد انتخاب گردند.", }, { id: "{۲}", title: "طراحی سیستم رشد", image: "/block-media/shadcnblocks/block/guri3/img25.jpeg", description: "نقشه کانال، سامانه مدیریت ارتباط با مشتری، اتوماسیون و KPIها را طراحی می‌کنیم تا تیم‌ها روی یک منبع حقیقت کار کنند و بودجه به کانال‌های پربازده برود.", }, { id: "{۰۳}", title: "پیاده‌سازی عملیاتی", image: "/block-media/shadcnblocks/block/guri4/img10.png", description: "ابزارها، جریان‌ها و داشبوردها را مستقر می‌کنیم. فروش و بازاریابی با داده تمیز و فرآیند شفاف وارد اجرا می‌شوند.", }, { id: "{۰۴}", title: "فعال‌سازی تیم", image: "/block-media/shadcnblocks/block/guri4/img9.png", description: "آموزش، راهنمای فروش و دارایی‌های فروش را تحویل می‌دهیم تا پذیرش سیستم بالا بماند و عملکرد از فرد به کل تیم منتقل شود.", }, { id: "{۰۵}", title: "بهینه‌سازی مستمر", image: "/block-media/shadcnblocks/block/guri3/img25.jpeg", description: "هزینه جذب، نرخ تبدیل و نگهداشت را پایش می‌کنیم و با آزمایش ساختاریافته، سیستم رشد را فصل به فصل بهتر می‌کنیم.", }, ]; const [active, setActive] = useState(0); const previousActive = usePrevious(active); return (
{previousActive !== undefined && (
{services[previousActive].title}
)} {services[active].title}

{services[active].title}

{services[active].description}

    {services.map((service, index) => (
  • setActive(index)} className={cn( "cursor-pointer border-b border-foreground/20 py-8 text-2xll font-semibold tracking-tight lg:text-2xll", )} >
    {service.title} {service.id}
  • ))}
شروع کنید
); }; export { Services21 };