111 lines
3.4 KiB
TypeScript
111 lines
3.4 KiB
TypeScript
import { AspectRatio } from "@/components/ui/aspect-ratio";
|
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface TabItem {
|
|
id: string;
|
|
title: string;
|
|
value: string;
|
|
summary: string;
|
|
image: {
|
|
src: string;
|
|
alt: string;
|
|
};
|
|
}
|
|
|
|
const LIST: TabItem[] = [
|
|
{
|
|
id: "edit-by-text",
|
|
title: "گزارشساز",
|
|
value: "1",
|
|
summary:
|
|
"داشبوردهای تعاملی به تیمها اجازه میدهد سؤال جدید بپرسند بدون اینکه هر بار به تیم داده وابسته باشند.",
|
|
image: {
|
|
src: "/block-media/shadcnblocks/block/placeholder-1.svg",
|
|
alt: "گزارشساز",
|
|
},
|
|
},
|
|
{
|
|
id: "clear-audio",
|
|
title: "Pivot تعاملی",
|
|
value: "2",
|
|
summary:
|
|
"گزارش سفارشی را بدون SQL بسازید و سریع منتشر کنید.",
|
|
image: {
|
|
src: "/block-media/shadcnblocks/block/placeholder-2.svg",
|
|
alt: "تحلیل داده سازمان",
|
|
},
|
|
},
|
|
{
|
|
id: "green-screen",
|
|
title: "داشبورد مدیریتی",
|
|
value: "3",
|
|
summary:
|
|
"داده سازمانی",
|
|
image: {
|
|
src: "/block-media/shadcnblocks/block/placeholder-3.svg",
|
|
alt: "داشبورد هوش تجاری",
|
|
},
|
|
},
|
|
];
|
|
|
|
interface Feature213Props {
|
|
className?: string;
|
|
}
|
|
|
|
const Feature213 = ({ className }: Feature213Props) => {
|
|
return (
|
|
<section dir="rtl" lang="fa" className={cn("bg-background py-32", className)}>
|
|
<div className="container">
|
|
<div className="mx-auto mb-8 flex max-w-[52.5rem] flex-col items-center justify-between gap-6 md:mb-20">
|
|
<h2 className="text-center text-2xll tracking-tight text-balance text-foreground lg:text-2xll">
|
|
تصمیم استراتژیک را دادهمحور کنید
|
|
</h2>
|
|
</div>
|
|
<div>
|
|
<Tabs
|
|
dir="rtl"
|
|
defaultValue={LIST[0].value}
|
|
className="flex gap-14 xl:!flex-row"
|
|
>
|
|
<TabsList className="!h-fit w-fit flex-col gap-2.5 bg-transparent p-0">
|
|
{LIST.map((item) => (
|
|
<TabsTrigger
|
|
className="flex-col items-start rounded-[0.75rem] p-5 text-right whitespace-normal data-[state=active]:bg-muted xl:max-w-[34.0625rem]"
|
|
key={item.id}
|
|
value={item.value}
|
|
>
|
|
<div className="leading-normal font-bold">{item.title}</div>
|
|
<div className="leading-normal text-pretty text-muted-foreground">
|
|
{item.summary}
|
|
</div>
|
|
</TabsTrigger>
|
|
))}
|
|
</TabsList>
|
|
{LIST.map((item) => (
|
|
<TabsContent
|
|
className="w-full"
|
|
key={item.id}
|
|
value={item.value}
|
|
>
|
|
<AspectRatio
|
|
ratio={16 / 9}
|
|
className="overflow-hidden rounded-[0.75rem]"
|
|
>
|
|
<img
|
|
src={item.image.src}
|
|
alt={item.image.alt}
|
|
className="block size-full object-cover object-center"
|
|
/>
|
|
</AspectRatio>
|
|
</TabsContent>
|
|
))}
|
|
</Tabs>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
);
|
|
};
|
|
|
|
export { Feature213 };
|