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.title}
{item.description.map((desc) => (
{desc}
))}
{item.imagePosition === "content" && (
)}
))}
<>
>
);
};
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 (
);
};