@@ -11,21 +11,24 @@ const ProjectsSection = () => {
1111 : projects . slice ( 0 , initialProjectCount ) ;
1212
1313 return (
14- < section id = { projectsContent . sectionId } className = "w-full py-24" >
14+ < section
15+ id = { projectsContent . sectionId }
16+ className = "w-full py-24 dark:bg-gray-900"
17+ >
1518 < div className = "mx-auto max-w-7xl px-4 sm:px-6 lg:px-8" >
1619 { /* Section header */ }
1720 < div className = "text-center mb-16" >
1821 < motion . h2
19- className = "text-3xl font-semibold text-slate-800 sm:text-4xl mb-4 tracking-tight"
22+ className = "text-3xl font-semibold text-slate-800 dark:text-slate-200 sm:text-4xl mb-4 tracking-tight"
2023 initial = { { opacity : 0 , y : 20 } }
2124 whileInView = { { opacity : 1 , y : 0 } }
2225 viewport = { { once : true } }
2326 transition = { { duration : 0.6 } }
2427 >
25- < span className = "text-blue-900 font-medium" >
28+ < span className = "text-blue-900 dark:text-blue-400 font-medium" >
2629 { projectsContent . title . prefix }
2730 </ span > { ' ' }
28- < span className = "text-red-600 font-medium" >
31+ < span className = "text-red-600 dark:text-red-400 font-medium" >
2932 { projectsContent . title . highlight }
3033 </ span >
3134 </ motion . h2 >
@@ -40,7 +43,7 @@ const ProjectsSection = () => {
4043
4144 { projectsContent . description && (
4245 < motion . p
43- className = "text-base sm:text-lg text-slate-600 max-w-3xl mx-auto"
46+ className = "text-base sm:text-lg text-slate-600 dark:text-slate-300 max-w-3xl mx-auto"
4447 initial = { { opacity : 0 , y : 20 } }
4548 whileInView = { { opacity : 1 , y : 0 } }
4649 viewport = { { once : true } }
@@ -62,14 +65,14 @@ const ProjectsSection = () => {
6265 transition = { { duration : 0.6 , delay : 0.1 * i } }
6366 className = "h-full"
6467 >
65- < div className = "bg-white rounded-lg shadow-md overflow-hidden h-full flex flex-col border border-slate-100 transition-all duration-300 hover:shadow-lg hover:translate-y-[-4px]" >
68+ < div className = "bg-white dark:bg-gray-800 rounded-lg shadow-md overflow-hidden h-full flex flex-col border border-slate-100 dark:border-gray-700 transition-all duration-300 hover:shadow-lg hover:translate-y-[-4px]" >
6669 < div className = "relative" >
6770 < div className = "absolute top-0 right-0 z-10" >
6871 < div className = "bg-blue-600 text-white text-xs py-1 px-3 font-medium" >
6972 Project { i + 1 }
7073 </ div >
7174 </ div >
72- < div className = "w-full h-48 bg-slate-50 flex items-center justify-center p-6" >
75+ < div className = "w-full h-48 bg-slate-50 dark:bg-gray-700 flex items-center justify-center p-6" >
7376 < img
7477 src = { project . imageUrl }
7578 alt = { project . title }
@@ -79,11 +82,11 @@ const ProjectsSection = () => {
7982 </ div >
8083
8184 < div className = "p-6 flex flex-col flex-grow" >
82- < h3 className = "text-lg font-semibold text-slate-800 mb-3 pb-2 border-b border-slate-100" >
85+ < h3 className = "text-lg font-semibold text-slate-800 dark:text-slate-200 mb-3 pb-2 border-b border-slate-100 dark:border-gray-700 " >
8386 { project . title }
8487 </ h3 >
8588
86- < p className = "text-slate-600 mb-6 flex-grow text-base" >
89+ < p className = "text-slate-600 dark:text-slate-300 mb-6 flex-grow text-base" >
8790 { project . description }
8891 </ p >
8992
@@ -92,7 +95,7 @@ const ProjectsSection = () => {
9295 { project . tags . map ( ( tag , tagIndex ) => (
9396 < span
9497 key = { tagIndex }
95- className = "px-2 py-1 bg-slate-100 text-slate-700 rounded-full text-xs font-medium"
98+ className = "px-2 py-1 bg-slate-100 dark:bg-gray-700 text-slate-700 dark:text-slate-300 rounded-full text-xs font-medium"
9699 >
97100 { tag }
98101 </ span >
@@ -104,7 +107,7 @@ const ProjectsSection = () => {
104107 { project . link && (
105108 < a
106109 href = { project . link }
107- className = "text-blue-600 hover:text-red-600 font-medium text-sm flex items-center gap-1 mt-auto transition-colors duration-300 group"
110+ className = "text-blue-600 dark:text-blue-400 hover:text-red-600 dark:hover:text-red-400 font-medium text-sm flex items-center gap-1 mt-auto transition-colors duration-300 group"
108111 >
109112 { projectsContent . ctaText || 'Learn More' }
110113 < svg
@@ -128,7 +131,7 @@ const ProjectsSection = () => {
128131 href = { project . exlink }
129132 target = "_blank"
130133 rel = "noopener noreferrer"
131- className = "text-blue-600 hover:text-red-600 font-medium text-sm flex items-center gap-1 mt-auto transition-colors duration-300 group"
134+ className = "text-blue-600 dark:text-blue-400 hover:text-red-600 dark:hover:text-red-400 font-medium text-sm flex items-center gap-1 mt-auto transition-colors duration-300 group"
132135 >
133136 { projectsContent . ctaText || 'Visit Website' }
134137 < svg
@@ -149,7 +152,7 @@ const ProjectsSection = () => {
149152
150153 { ! project . link && ! project . exlink && (
151154 < button
152- className = "text-blue-600 hover:text-red-600 font-medium text-sm flex items-center gap-1 mt-auto transition-colors duration-300 group"
155+ className = "text-blue-600 dark:text-blue-400 hover:text-red-600 dark:hover:text-red-400 font-medium text-sm flex items-center gap-1 mt-auto transition-colors duration-300 group"
153156 onClick = { ( ) => ( window . location . href = '#projects' ) }
154157 >
155158 { projectsContent . ctaText || 'Learn More' }
@@ -186,7 +189,7 @@ const ProjectsSection = () => {
186189 { ! showAllProjects ? (
187190 < button
188191 onClick = { ( ) => setShowAllProjects ( true ) }
189- className = "px-8 py-3 bg-blue-600 hover:bg-red-600 cursor-pointer text-white rounded-lg shadow-sm font-medium transition-all duration-300 inline-flex items-center gap-2"
192+ className = "px-8 py-3 bg-blue-600 hover:bg-red-600 dark:bg-blue-600 dark:hover:bg-red-700 cursor-pointer text-white rounded-lg shadow-sm font-medium transition-all duration-300 inline-flex items-center gap-2"
190193 >
191194 Show more
192195 < svg
0 commit comments