OsamaMo commited on
Commit
65f922a
·
verified ·
1 Parent(s): d96077e

Upload components/Projects.tsx with huggingface_hub

Browse files
Files changed (1) hide show
  1. 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