Files
reui-blocks/blocks/project5c.tsx
T

126 lines
5.5 KiB
TypeScript

"use client";
import { motion } from "framer-motion";
import { cn } from "@/lib/utils";
interface Project5cProps {
className?: string;
}
const Project5c = ({ className }: Project5cProps) => {
const fadeInUp = {
initial: { opacity: 0, y: 20 },
animate: { opacity: 1, y: 0 },
transition: { duration: 0.6 },
};
const staggerContainer = {
animate: {
transition: {
staggerChildren: 0.1,
},
},
};
return (
<section dir="rtl" lang="fa" className={cn("py-24 md:py-32", className)}>
<div className="container">
<motion.header
className="pb-12 text-start md:pb-16"
initial="initial"
animate="animate"
variants={staggerContainer}
>
<div className="grid grid-cols-1 gap-12 lg:grid-cols-3">
<motion.div variants={fadeInUp} className="lg:col-span-2">
<h1 className="text-5xl font-bold tracking-tight text-foreground md:text-6xl">چشم‌انداز طراحی</h1>
<p className="mt-6 max-w-xl text-lg leading-relaxed text-muted-foreground">کاوشی معاصر در الگوهای رابط از مسیر یک دیزاین سیستم. این کار مرز میان کامپوننت‌های استاندارد و تجربه سفارشی را به چالش کسب‌وکار می‌کشد و گفت‌وگویی میان کاربر و سادگی خام رابط می‌آفریند.</p>
</motion.div>
<motion.div variants={fadeInUp} className="space-y-4">
<div className="grid grid-cols-2 gap-4 bg-muted/50 p-6">
<div className="space-y-1">
<p className="text-xs font-medium text-muted-foreground">
استودیو
</p>
<p className="text-sm font-semibold text-foreground">نکسوس لبز</p>
</div>
<div className="space-y-1">
<p className="text-xs font-medium text-muted-foreground">
سال همکاری
</p>
<p className="text-sm font-semibold text-foreground">
۲۲۴
</p>
</div>
<div className="space-y-1">
<p className="text-xs font-medium text-muted-foreground">محل دمو</p>
<p className="text-sm font-semibold text-foreground">مهندسی فرانت‌اند</p>
</div>
<div className="space-y-1">
<p className="text-xs font-medium text-muted-foreground">
رسانه
</p>
<p className="text-sm font-semibold text-foreground">نمایش زنده آنلاین</p>
</div>
</div>
</motion.div>
</div>
</motion.header>
<motion.main
initial="initial"
animate="animate"
variants={staggerContainer}
className="space-y-12"
>
<motion.div
variants={fadeInUp}
className="grid grid-cols-1 gap-6 md:grid-cols-4"
>
<div className="md:col-span-3">
<div className="relative aspect-[16/9] overflow-hidden rounded-lg bg-muted/30">
<img
src="/block-media/shadcnblocks/block/photos/daniel-leone-g30P1zcOzXo-unsplash.jpg"
alt="کامپوننت کارت نسخه مینیمال"
className="h-full w-full object-cover"
/>
<div className="absolute inset-0 bg-background/5" />
</div>
</div>
<div className="space-y-6">
<div className="relative h-full overflow-hidden rounded-lg bg-muted/30">
<img
src="/block-media/shadcnblocks/block/photos/nastuh-abootalebi-yWwob8kwOCk-unsplash.jpg"
alt="پژواک نمای اصلی کتابخانه کامپوننت"
className="h-full w-full object-cover"
/>
<div className="absolute inset-0 bg-background/5" />
</div>
</div>
</motion.div>
</motion.main>
<motion.section
className="py-12 md:py-16"
initial="initial"
animate="animate"
variants={staggerContainer}
>
<div className="flex flex-col gap-y-8 text-start md:flex-row md:items-start md:justify-between">
<motion.div variants={fadeInUp}>
<h2 className="text-lg font-semibold tracking-wide text-foreground">پژواک کتابخانه کامپوننت</h2>
</motion.div>
<motion.div variants={fadeInUp} className="max-w-2xl">
<p className="text-lg leading-relaxed font-medium text-muted-foreground">این مجموعه از کاوش عمیق ما در الگوهای تکرارشونده رابط کاربری برمی‌خیزد. با مشاهده دقیق و طراحی اصولی، جوهره کامپوننت‌های قابل‌استفاده مجدد، ساختار بلاک‌ها و رفتار حالت‌ها که فرم نهایی رابط را تعریف می‌کنند، استخراج کرده‌ایم. این نمایش، توسعه‌دهنده را دعوت می‌کند رابطه خود با بلاک‌های رابط را از منظری تازه ببیند.</p>
</motion.div>
</div>
</motion.section>
</div>
</section>
);
};
export { Project5c };