97 lines
2.9 KiB
TypeScript
97 lines
2.9 KiB
TypeScript
"use client";
|
|
|
|
import { motion } from "framer-motion";
|
|
|
|
import { cn } from "@/lib/utils";
|
|
|
|
const projects5prop = [
|
|
{
|
|
title: "طراحی مقیاسپذیر",
|
|
img: "/block-media/shadcnblocks/block/lummi/bw7.jpeg",
|
|
year: "۱۴۰۴",
|
|
type: "محصول",
|
|
url: "#",
|
|
},
|
|
{
|
|
title: "رابط شهری رنگارنگ",
|
|
img: "/block-media/shadcnblocks/block/lummi/bw17.jpeg",
|
|
year: "۱۴۰۴",
|
|
type: "اتوماسیون بازاریابی",
|
|
url: "#",
|
|
},
|
|
{
|
|
title: "داشبورد مینیمال لوکس",
|
|
img: "/block-media/shadcnblocks/block/lummi/bw12.jpeg",
|
|
year: "۱۴۰۴",
|
|
type: "رابط کاربری",
|
|
url: "#",
|
|
},
|
|
{
|
|
title: "رابط شهری مینیمال",
|
|
img: "/block-media/shadcnblocks/block/photos/tiny-home/erik-mclean-g3U7sqtdJ1w-unsplash.jpg",
|
|
year: "۱۴۰۴",
|
|
type: "طراحی محصول",
|
|
url: "#",
|
|
},
|
|
{
|
|
title: "معماری فرانتاند",
|
|
img: "/block-media/shadcnblocks/block/lummi/bw14.jpeg",
|
|
year: "۱۴۰۴",
|
|
type: "صفحه اصلی مینیمال",
|
|
url: "#",
|
|
},
|
|
{
|
|
title: "کامپوننت در بستر واقعی",
|
|
img: "/block-media/shadcnblocks/block/lummi/bw16.jpeg",
|
|
year: "۱۴۰۴",
|
|
type: "مودال تأیید با بلاک Dialog",
|
|
url: "#",
|
|
},
|
|
];
|
|
|
|
interface Projects5Props {
|
|
className?: string;
|
|
}
|
|
|
|
const Projects5 = ({ className }: Projects5Props) => {
|
|
return (
|
|
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
|
|
<div className="container text-start">
|
|
<h1 className="text-7xl leading-tight">پروژهها</h1>
|
|
|
|
<div className="mt-10 grid grid-cols-1 gap-6 md:grid-cols-2">
|
|
{projects5prop.map((project, index) => (
|
|
<motion.div
|
|
key={index}
|
|
initial={{ opacity: 0, y: 50 }}
|
|
whileInView={{ opacity: 1, y: 0 }}
|
|
transition={{ duration: 0.6, delay: index * 0.1 }}
|
|
viewport={{ once: true }}
|
|
className="group overflow-hidden rounded-lg border border-border bg-background"
|
|
>
|
|
<a href={project.url} className="block overflow-hidden">
|
|
<img
|
|
src={project.img}
|
|
alt={project.title}
|
|
className="h-96 w-full object-cover transition-transform duration-500 ease-in-out group-hover:scale-105"
|
|
/>
|
|
</a>
|
|
<div className="flex items-center justify-between px-5 py-4">
|
|
<div>
|
|
<h2 className="text-lg font-semibold">{project.title}</h2>
|
|
<p className="text-muted-foreground">{project.type}</p>
|
|
</div>
|
|
<div className="rounded-2xl border border-border px-5 py-2 text-sm font-semibold">
|
|
{project.year}
|
|
</div>
|
|
</div>
|
|
</motion.div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
);
|
|
};
|
|
|
|
export { Projects5 };
|