"use client"; import { AnimatePresence, motion } from "framer-motion"; import { useState } from "react"; import { cn } from "@/lib/utils"; interface Projects8type { id: number; title: string; category: string; description: string; image: string; tags: string[]; } const categoryLabels: Record = { "MOONLIGHT VISIONS": "فروش", "PIXEL PARADE": "بازاریابی", "WANDER SKETCHES": "سامانه مدیریت ارتباط با مشتری", "ECHO FIELDS": "تحلیل", "NEON TAPESTRY": "پشتیبانی", VIDEOS: "گزارش", }; const filterCategories = [ { key: "ALL", label: "همه" }, { key: "MOONLIGHT VISIONS", label: "فروش" }, { key: "PIXEL PARADE", label: "بازاریابی" }, { key: "WANDER SKETCHES", label: "سامانه مدیریت ارتباط با مشتری" }, { key: "ECHO FIELDS", label: "تحلیل" }, { key: "NEON TAPESTRY", label: "پشتیبانی" }, ] as const; const Projects8Data: Projects8type[] = [ { id: 1, title: "افزایش ۴۰٪ نرخ تبدیل", category: "MOONLIGHT VISIONS", description: "پیاده‌سازی اتوماسیون ایمیل و امتیازدهی لید برای شرکت SaaS B2B.", image: "/block-media/shadcnblocks/block/photos/vanessa-werder-LjFEoGuj5eY-unsplash.jpg", tags: ["سامانه مدیریت ارتباط با مشتری", "automation"], }, { id: 2, title: "کاهش ۶۰٪ زمان پاسخ‌گویی", category: "PIXEL PARADE", description: "یکپارچه‌سازی سامانه مدیریت ارتباط با مشتری با سیستم تیکتینگ برای تیم پشتیبانی ۵۰ نفره.", image: "/block-media/shadcnblocks/block/photos/vasilis-karkalas-qOaeVSKyhhE-unsplash.jpg", tags: ["support", "سامانه مدیریت ارتباط با مشتری"], }, { id: 3, title: "داشبورد فروش یکپارچه", category: "WANDER SKETCHES", description: "ساخت داشبورد KPI برای نمایش درآمد، قیف فروش و پیش‌بینی فصلی.", image: "/block-media/shadcnblocks/block/photos/vanessa-werder-PrsQ3hfBFTI-unsplash.jpg", tags: ["analytics", "sales"], }, { id: 4, title: "داشبورد تحلیلی", category: "ECHO FIELDS", description: "داشبورد تحلیلی برای نمایش KPIهای فروش و بازاریابی با نمودارهای تعاملی.", image: "/block-media/shadcnblocks/block/photos/pat-whelen-gWfpmH0H2bM-unsplash.jpg", tags: ["analytics", "dashboard"], }, { id: 5, title: "خودکارسازی کمپین", category: "NEON TAPESTRY", description: "راه‌اندازی جریان‌های ایمیل هدفمند برای ۱۲ بخش مخاطب مختلف.", image: "/block-media/shadcnblocks/block/photos/vanessa-werder-4G228Duzmn8-unsplash.jpg", tags: ["marketing", "email"], }, { id: 6, title: "گزارش عملکرد فصلی", category: "VIDEOS", description: "گزارش تحلیلی سه‌ماهه با بررسی ROI کمپین‌ها و رشد درآمد تکرارشونده.", image: "/block-media/shadcnblocks/block/photos/vasilis-karkalas-1LT5DG5BD6Q-unsplash.jpg", tags: ["reporting", "revenue"], }, ]; interface Projects8Props { className?: string; } const Projects8 = ({ className }: Projects8Props) => { const [activeFilter, setActiveFilter] = useState("ALL"); const [filteredItems, setFilteredItems] = useState(Projects8Data); const handleFilterChange = (category: string) => { setActiveFilter(category); if (category === "ALL") { setFilteredItems(Projects8Data); } else { const filtered = Projects8Data.filter( (item) => item.category === category || item.tags.includes(category.toLowerCase().replace(" ", "-")), ); setFilteredItems(filtered); } }; const activeFilterLabel = filterCategories.find((item) => item.key === activeFilter)?.label ?? categoryLabels[activeFilter] ?? activeFilter; return (
{filterCategories.map(({ key, label }) => ( ))}
{filteredItems.map((item) => (
{item.title}

{categoryLabels[item.category] ?? item.category}

{item.title}

{item.description}

))}
{filteredItems.length === 0 && (

موردی در دسته «{activeFilterLabel}» یافت نشد.

)}
); }; export { Projects8 };