import { type ReactNode, type SVGProps, useId } from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { cn } from "@/lib/utils"; type FeatureItem = { id: string; title: ReactNode; description: string[]; image: { src: string; alt: string; className?: string; }; imagePosition: "content" | "header"; className?: string; headerClassName?: string; contentClassName?: string; }; const ITEMS: FeatureItem[] = [ { id: "var-flexibility-hero", title: ( <> مدیریت پروژه
هم‌راستایی ), description: [ "برنامه تیم را هماهنگ کنید و تداخل وظایف را کاهش دهید.", "نسخه درست فایل همیشه در دسترس همه اعضا باشد.", ], image: { src: "/block-media/shadcnblocks/block/placeholder-1.svg", alt: "تقویم تیم", }, imagePosition: "content", className: "flex flex-col gap-6 overflow-hidden py-6 ps-6 md:col-span-3 md:flex-row md:gap-12", headerClassName: "flex-2 p-0 text-start md:flex-1", contentClassName: "relative w-full self-start overflow-hidden rounded-s-xl border p-0 md:flex-1", }, { id: "var-flexibility-flow", title: "تقویم تیمی", description: [ "کار گروهی", "بحث را کنار هر تسک نگه دارید تا تصمیم‌ها گم نشود.", ], image: { src: "/block-media/shadcnblocks/block/placeholder-1.svg", alt: "فضای همکاری تیمی", className: "aspect-[2/1.1] rounded-xl", }, className: "flex flex-col justify-center md:col-span-2", contentClassName: "flex items-center justify-center", imagePosition: "content", }, { id: "var-flexibility-diagram", title: "اشتراک فایل", description: [ "وضعیت هر کار را در یک نما ببینید و گلوگاه‌ها را زودتر پیدا کنید.", ], image: { src: "/block-media/shadcnblocks/block/placeholder-1.svg", alt: "برد مدیریت پروژه", className: "mb-6 aspect-2/1 flex-1 self-center rounded-xl", }, className: "md:col-span-2", headerClassName: "h-full text-start", imagePosition: "header", }, { id: "var-flexibility-transfer", title: "منشن و بحث", description: [ "همکاری تیمی", ], image: { src: "/block-media/shadcnblocks/block/placeholder-1.svg", alt: "تقویم تیم", }, imagePosition: "content", className: "overflow-hidden md:col-span-3", headerClassName: "text-start", contentClassName: "relative mt-4 ms-8 aspect-[2/1.25] w-full overflow-hidden rounded-t-xl p-0 md:mx-auto md:max-w-[400px] lg:max-w-[500px]", }, ]; export const Feature193 = () => { return (

ردیابی زمان

{ITEMS.map((item) => ( {item.imagePosition === "header" && ( {item.image.alt} )} {item.title} {item.description.map((desc) => ( {desc} ))} {item.imagePosition === "content" && ( {item.image.alt} )} ))}
<>
); }; interface PlusSignsProps extends SVGProps { className?: string; } const PlusSigns = ({ className, ...props }: PlusSignsProps) => { const GAP = 16; const STROKE_WIDTH = 1; const PLUS_SIZE = 6; const id = useId(); const patternId = `plus-pattern-${id}`; return ( ); };