"use client"; import { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { Landmark, Banknote, BarChart3, ShieldCheck, Workflow, BadgeCheck, Terminal, ArrowLeft, } from "lucide-react"; type ProjectStatus = "در حال بهرهبرداری" | "در حال توسعه" | "فاز آزمایشی"; interface Project { id: string; title: string; domain: string; status: ProjectStatus; description: string; stack: string[]; metrics: { label: string; value: string }[]; hasDetails: boolean; Icon: typeof Landmark; image: string; } const customEase: [number, number, number, number] = [0.16, 1, 0.3, 1]; const projects: Project[] = [ { id: "core-banking-report", title: "دستیار آموزشی و معلم هوشمند", domain: "آموزشی / سازمانی", status: "در حال بهرهبرداری", description: "این سیستم به جای ارائه پاسخهای عمومی، تمامی کتب درسی را در پایگاه دانش خود بلعیده و پردازش کرده است. نتیجه؟ یک معلم خصوصی بینقص که ۲۴ ساعته در دسترس است، دقیقا بر اساس متن کتاب درسی آموزش میدهد، امتحان میگیرد، تصحیح میکند و با دانشآموز به صورت صوتی صحبت میکند.", stack: ["Next.js", "TTS", "RAG", "Voice-Enabled Learning", "Speech-to-Text"], metrics: [ { label: "زمان تولید گزارش شبانه", value: "۴ دقیقه" }, { label: "حجم پردازش روزانه", value: "۲.۱ میلیون رکورد" }, ], hasDetails: true, Icon: Landmark, image: "/image/student2.png", }, { id: "treasury-dashboard", title: "دستیار هوشمند فروش و پشتیبانی", domain: "سازمانی / مالی", status: "در حال بهرهبرداری", description: "راهکاری نوین برای کسبوکارهای آنلاین است که شکاف میان کاربر و محتوای سایت شما را پر میکند. این سیستم با خزش (Crawling) و ایندکسگذاری هوشمند تمامی صفحات وبسایت شما، به یک متخصصِ تمامعیار تبدیل میشود که تمامی محصولات، خدمات، قیمتها و مستندات شما را میشناسد.", stack: ["Next.js", "TypeScript", "NestJS", "Redis", "SQL Server"], metrics: [ { label: "کاربر همزمان", value: "۳۵۰+" }, { label: "Uptime سهماهه", value: "۹۹.۹۵٪" }, ], hasDetails: true, Icon: Banknote, image: "/image/payai.png", }, { id: "fraud-detection", title: "مرکز تماس هوشمند", domain: "بانکی / پشتیبانی", status: "در حال توسعه", description: "«مرکز تماس هوشمند» فراتر از یک سیستم ضبط مکالمه است. این پلتفرم با استفاده از فناوریهای پیشرفته Speech-to-Text (STT) و LLM، تمامی تماسهای ورودی و خروجی مرکز تماس شما را تحلیل کرده و شاخصهای کلیدی عملکرد (KPI) را به صورت خودکار استخراج میکند.", stack: ["Python", "FastAPI", "PostgreSQL", "Kafka", "Docker"], metrics: [ { label: "زمان امتیازدهی هر تراکنش", value: "< ۴۰ میلیثانیه" }, { label: "هشدارهای نادرست", value: "کاهش ۳۱٪" }, ], hasDetails: true, Icon: ShieldCheck, image: "/image/aicall2.png", }, { id: "bpm-automation", title: "اپلیکیشن ورزشی نئوفیت", domain: "ورزشی / آموزشی", status: "در حال بهرهبرداری", description: "دستیار هوشمند شما برای رسیدن به تناسب اندام ایدهآل است. این اپلیکیشن با تحلیل دقیق ویژگیهای جسمانی، سبک زندگی و شرایط محیطی، برنامه تمرینی کاملاً اختصاصی برای شما تدوین میکند. با نیوفیت، میتوانید زمان و مکان تمرین را به سادگی تعیین کنید.", stack: ["Next.js", "Node.js", "PostgreSQL", "RabbitMQ"], metrics: [ { label: "فرایند فعال", value: "۱۲ فرایند" }, { label: "کاهش زمان تأییدیه", value: "۴۵٪" }, ], hasDetails: true, Icon: Workflow, image: "/image/neo.png", }, ]; /** کامپوننت تصویر پروژه */ function ProjectImage({ project, index }: { project: Project; index: number }) { return (
); } function StatusBadge({ status }: { status: ProjectStatus }) { const tone = status === "در حال بهرهبرداری" ? "border-emerald-400/25 bg-emerald-400/10 text-emerald-300" : status === "در حال توسعه" ? "border-indigo-400/25 bg-indigo-400/10 text-indigo-300" : "border-amber-400/25 bg-amber-400/10 text-amber-300"; return ( {status === "در حال بهرهبرداری" && ( )} {status} ); } export default function Projects() { const [activeId, setActiveId] = useState{activeProject.description}