Files
reui-blocks/blocks/hero37.tsx
T

68 lines
3.4 KiB
TypeScript

import { ArrowRight } from "lucide-react";
import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";
interface Hero37Props {
className?: string;
}
const Hero37 = ({ className }: Hero37Props) => {
return (
<section className={cn("overflow-hidden py-32", className)}>
<div className="container flex flex-col items-center text-center">
<p className="text-xs uppercase">نسخه جدید منتشر شد</p>
<h1 className="my-3 text-xl font-bold text-pretty sm:text-xl md:my-6 lg:text-2xll">
توسعه محصولات دیجیتال را سریع‌تر آغاز کنید
</h1>
<p className="mb-6 max-w-xl text-muted-foreground md:mb-12 lg:text-xl">
کامپوننت‌ها و بلاک‌های آماده به شما کمک می‌کنند بدون اتلاف زمان، رابط کاربری حرفه‌ای ایجاد کنید.
</p>
<div className="flex w-full flex-col justify-center gap-2 sm:flex-row">
<Button className="w-full sm:w-auto">
<ArrowRight className="me-2 size-4 rtl:rotate-180" />
شروع رایگان
</Button>
<Button variant="outline" className="w-full sm:w-auto">
مشاهده امکانات
</Button>
</div>
</div>
<div className="mt-16 flex flex-col items-center justify-center lg:mt-32">
<div className="b relative mx-auto aspect-square w-[95%] max-w-[31.25rem] sm:w-full">
<div className="absolute inset-x-1/2 top-full z-0 flex w-[120rem] -translate-x-1/2 -translate-y-[4rem] md:-translate-y-[2rem]">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
viewBox="0 0 800 800"
className="h-full w-full text-muted-foreground opacity-20"
>
{Array.from(Array(4000).keys()).map((dot, index, array) => {
const angle = 0.2 * index;
const scalar = 300 + index * (100 / array.length);
const x = Math.round(Math.cos(angle) * scalar);
const y = Math.round(Math.sin(angle) * scalar);
return (
<circle
key={index}
r={1}
cx={400 + x}
cy={400 + y}
fill="currentColor"
opacity={(array.length - index) / array.length}
/>
);
})}
</svg>
</div>
<div className="absolute inset-0 z-5 m-auto flex aspect-29/36 w-4/5 max-w-[16rem] translate-x-[-75%] translate-y-[10%] scale-[0.85] rotate-[-15deg] justify-center rounded-lg border border-border bg-accent opacity-60 md:w-[21.25rem] md:max-w-[21.25rem]"></div>
<div className="absolute inset-0 z-10 m-auto flex aspect-29/36 w-4/5 max-w-[16rem] justify-center rounded-lg border border-border bg-accent md:w-[21.25rem] md:max-w-[21.25rem]"></div>
<div className="absolute inset-0 z-5 m-auto flex aspect-29/36 w-4/5 max-w-[16rem] translate-x-[75%] translate-y-[10%] scale-[0.85] rotate-[15deg] justify-center rounded-lg border border-border bg-accent opacity-60 md:w-[21.25rem] md:max-w-[21.25rem]"></div>
</div>
</div>
</section>
);
};
export { Hero37 };