Spaces:
Running
Running
Upload components/Projects.tsx with huggingface_hub
Browse files- components/Projects.tsx +98 -0
components/Projects.tsx
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { ArrowUpRight } from 'lucide-react'
|
| 2 |
+
|
| 3 |
+
const Projects = () => {
|
| 4 |
+
const projects = [
|
| 5 |
+
{
|
| 6 |
+
id: 1,
|
| 7 |
+
title: 'The Horizon Tower',
|
| 8 |
+
location: 'Downtown District',
|
| 9 |
+
category: 'Residential',
|
| 10 |
+
image: 'https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?w=800&q=80',
|
| 11 |
+
year: '2024'
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
id: 2,
|
| 15 |
+
title: 'Marina Heights',
|
| 16 |
+
location: 'Waterfront',
|
| 17 |
+
category: 'Mixed Use',
|
| 18 |
+
image: 'https://images.unsplash.com/photo-1512917774080-9991f1c4c750?w=800&q=80',
|
| 19 |
+
year: '2023'
|
| 20 |
+
},
|
| 21 |
+
{
|
| 22 |
+
id: 3,
|
| 23 |
+
title: 'Green Valley Estate',
|
| 24 |
+
location: 'Suburban',
|
| 25 |
+
category: 'Residential',
|
| 26 |
+
image: 'https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?w=800&q=80',
|
| 27 |
+
year: '2023'
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
id: 4,
|
| 31 |
+
title: 'Commerce Plaza',
|
| 32 |
+
location: 'Business District',
|
| 33 |
+
category: 'Commercial',
|
| 34 |
+
image: 'https://images.unsplash.com/photo-1486718448742-163732cd1544?w=800&q=80',
|
| 35 |
+
year: '2022'
|
| 36 |
+
}
|
| 37 |
+
]
|
| 38 |
+
|
| 39 |
+
return (
|
| 40 |
+
<section id="projects" className="py-24 md:py-32 bg-margins-dark">
|
| 41 |
+
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
| 42 |
+
{/* Header */}
|
| 43 |
+
<div className="flex flex-col md:flex-row md:items-end justify-between mb-16">
|
| 44 |
+
<div>
|
| 45 |
+
<span className="text-margins-gray uppercase tracking-widest text-sm mb-4 block">Portfolio</span>
|
| 46 |
+
<h2 className="text-4xl md:text-5xl font-light">Featured Projects</h2>
|
| 47 |
+
</div>
|
| 48 |
+
<a
|
| 49 |
+
href="#"
|
| 50 |
+
className="mt-6 md:mt-0 inline-flex items-center text-sm uppercase tracking-widest text-margins-gray hover:text-white transition-colors group"
|
| 51 |
+
>
|
| 52 |
+
View All Projects
|
| 53 |
+
<ArrowUpRight className="ml-2 w-4 h-4 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform" />
|
| 54 |
+
</a>
|
| 55 |
+
</div>
|
| 56 |
+
|
| 57 |
+
{/* Projects Grid */}
|
| 58 |
+
<div className="grid md:grid-cols-2 gap-8">
|
| 59 |
+
{projects.map((project) => (
|
| 60 |
+
<div
|
| 61 |
+
key={project.id}
|
| 62 |
+
className="group relative overflow-hidden cursor-pointer"
|
| 63 |
+
>
|
| 64 |
+
{/* Image Container */}
|
| 65 |
+
<div className="aspect-[4/3] overflow-hidden bg-margins-black">
|
| 66 |
+
<img
|
| 67 |
+
src={project.image}
|
| 68 |
+
alt={project.title}
|
| 69 |
+
className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
|
| 70 |
+
/>
|
| 71 |
+
{/* Overlay */}
|
| 72 |
+
<div className="absolute inset-0 bg-margins-black/0 group-hover:bg-margins-black/40 transition-colors duration-300" />
|
| 73 |
+
</div>
|
| 74 |
+
|
| 75 |
+
{/* Content */}
|
| 76 |
+
<div className="absolute bottom-0 left-0 right-0 p-6 md:p-8 transform translate-y-4 group-hover:translate-y-0 transition-transform duration-300">
|
| 77 |
+
<div className="flex items-center justify-between">
|
| 78 |
+
<div>
|
| 79 |
+
<span className="text-xs uppercase tracking-widest text-margins-gray mb-2 block">
|
| 80 |
+
{project.category} — {project.year}
|
| 81 |
+
</span>
|
| 82 |
+
<h3 className="text-2xl font-light mb-1">{project.title}</h3>
|
| 83 |
+
<span className="text-margins-gray text-sm">{project.location}</span>
|
| 84 |
+
</div>
|
| 85 |
+
<div className="w-12 h-12 rounded-full border border-white/30 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
| 86 |
+
<ArrowUpRight className="w-5 h-5" />
|
| 87 |
+
</div>
|
| 88 |
+
</div>
|
| 89 |
+
</div>
|
| 90 |
+
</div>
|
| 91 |
+
))}
|
| 92 |
+
</div>
|
| 93 |
+
</div>
|
| 94 |
+
</section>
|
| 95 |
+
)
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
export default Projects
|