This commit is contained in:
mr.sabri
2026-07-27 12:56:06 +03:30
parent d5488386ff
commit 1cea5b78cb
45 changed files with 1406 additions and 936 deletions
+26 -19
View File
@@ -107,36 +107,43 @@ const Feature12 = ({ className }: Feature12Props) => {
}, [api]);
return (
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container max-w-7xl">
<div className="mb-10 flex flex-col items-center gap-6 md:mb-20">
<section
dir="rtl"
lang="fa"
className={cn("w-full overflow-hidden py-32", className)}
>
<div className="container max-w-7xl min-w-0">
<div className="mb-10 flex min-w-0 flex-col items-center gap-6 md:mb-20">
<Badge variant="outline">داده سازمانی</Badge>
<h2 className="mb-2 text-center text-3xl font-semibold lg:text-2xll">
<h2 className="mb-2 max-w-full text-center text-3xl font-semibold text-balance break-words lg:text-2xll">
تصمیم استراتژیک را داده‌محور کنید
</h2>
</div>
<Carousel
className="w-full"
className="w-full min-w-0"
setApi={setApi}
opts={{
align: "start",
direction: "rtl",
}}
>
<div className="mb-4 flex justify-between px-1 md:mb-5">
<p className="font-medium">داشبوردهای تعاملی به تیم‌ها اجازه می‌دهد سؤال جدید بپرسند بدون اینکه هر بار به تیم داده وابسته باشند.</p>
<div className="flex items-center gap-2">
<div className="me-2 hidden items-center gap-3 text-xs text-muted-foreground md:flex">
<span>
<div className="mb-4 space-y-4 px-1 md:mb-5 lg:flex lg:items-center lg:justify-between lg:space-y-0">
<p className="w-full min-w-0 text-pretty break-words font-medium lg:flex-1 lg:pe-3">
داشبوردهای تعاملی به تیم‌ها اجازه می‌دهد سؤال جدید بپرسند بدون
اینکه هر بار به تیم داده وابسته باشند.
</p>
<div className="flex w-full min-w-0 items-center gap-2 lg:w-auto lg:shrink-0">
<div className="me-2 flex min-w-0 flex-1 items-center gap-3 text-xs text-muted-foreground lg:flex-none">
<span className="shrink-0">
{currentSlide.toLocaleString("fa-IR").padStart(2, "۰")}
</span>
<div className="h-[2px] w-52 overflow-hidden rounded-full bg-muted">
<div className="h-[2px] min-w-0 flex-1 overflow-hidden rounded-full bg-muted lg:w-52 lg:flex-none">
<div
className="h-full origin-start bg-primary transition-transform"
style={{ transform: `scaleX(${progress})` }}
/>
</div>
<span>
<span className="shrink-0">
{slides.length.toLocaleString("fa-IR").padStart(2, "۰")}
</span>
</div>
@@ -148,19 +155,19 @@ const Feature12 = ({ className }: Feature12Props) => {
{slides.map((slide, index) => (
<CarouselItem
key={index}
className="basis-full md:basis-1/2 lg:basis-1/3"
className="min-w-0 basis-full md:basis-1/2 lg:basis-1/3"
>
<div className="p-1">
<Card>
<CardContent className="flex flex-col justify-center p-6">
<div>
<div className="min-w-0 p-1">
<Card className="min-w-0 overflow-hidden">
<CardContent className="flex min-w-0 flex-col justify-center p-6">
<div className="min-w-0">
<span className="mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10">
{slide.icon}
</span>
<p className="text-xl font-semibold md:text-xl lg:text-xl">
<p className="text-xl font-semibold break-words md:text-xl lg:text-xl">
{slide.title}
</p>
<p className="pt-2 text-muted-foreground">
<p className="pt-2 text-pretty break-words text-muted-foreground">
{slide.description}
</p>
</div>