1- ' use client' ;
2- import { motion } from ' framer-motion' ;
3- import { TeamMemberCard } from ' @/components/team-member-card' ;
4- import { useQuery } from ' @tanstack/react-query' ;
5- import { Star , Github , Code , Users } from ' lucide-react' ;
6- import { TeamMember } from ' @/types/project' ;
1+ " use client" ;
2+ import { motion } from " framer-motion" ;
3+ import { TeamMemberCard } from " @/components/team-member-card" ;
4+ import { useQuery } from " @tanstack/react-query" ;
5+ import { Star , Github , Code , Users } from " lucide-react" ;
6+ import { TeamMember } from " @/types/project" ;
77
88export default function Mission ( ) {
99 // Fetch team members from JSON file
10+ const basePath = process . env . NEXT_PUBLIC_BASE_PATH || "" ;
1011 const { data : teamMembers = [ ] , isLoading : teamLoading } = useQuery ( {
11- queryKey : [ ' team' ] ,
12+ queryKey : [ " team" ] ,
1213 queryFn : async ( ) : Promise < TeamMember [ ] > => {
13- const response = await fetch ( ' /data/team.json' ) ;
14- if ( ! response . ok ) throw new Error ( ' Failed to fetch team data' ) ;
14+ const response = await fetch ( ` ${ basePath } /data/team.json` ) ;
15+ if ( ! response . ok ) throw new Error ( " Failed to fetch team data" ) ;
1516 return response . json ( ) ;
1617 } ,
1718 } ) ;
1819
1920 const missionPoints = [
2021 {
2122 icon : Star ,
22- title : 'Innovation First' ,
23- description : 'We pioneer cutting-edge development tools that solve real-world problems, always staying ahead of industry trends and developer needs.' ,
24- color : 'blue-accent' ,
23+ title : "Innovation First" ,
24+ description :
25+ "We pioneer cutting-edge development tools that solve real-world problems, always staying ahead of industry trends and developer needs." ,
26+ color : "blue-accent" ,
2527 } ,
2628 {
2729 icon : Github ,
28- title : 'Open Source Values' ,
29- description : 'We believe in transparent, collaborative development that builds trust and fosters community-driven innovation across the globe.' ,
30- color : 'professional-blue' ,
30+ title : "Open Source Values" ,
31+ description :
32+ "We believe in transparent, collaborative development that builds trust and fosters community-driven innovation across the globe." ,
33+ color : "professional-blue" ,
3134 } ,
3235 {
3336 icon : Code ,
34- title : 'Developer Experience' ,
35- description : 'Every tool we create prioritizes exceptional user experience, comprehensive documentation, and seamless integration workflows.' ,
36- color : 'blue-accent' ,
37+ title : "Developer Experience" ,
38+ description :
39+ "Every tool we create prioritizes exceptional user experience, comprehensive documentation, and seamless integration workflows." ,
40+ color : "blue-accent" ,
3741 } ,
3842 ] ;
3943
@@ -42,7 +46,7 @@ export default function Mission() {
4246 { /* Mission Section */ }
4347 < section className = "py-20 bg-gradient-to-br from-slate-blue via-gray-800 to-navy-900 text-white" >
4448 < div className = "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8" >
45- < motion . div
49+ < motion . div
4650 className = "text-center mb-16"
4751 initial = { { opacity : 0 , y : 20 } }
4852 animate = { { opacity : 1 , y : 0 } }
@@ -51,48 +55,56 @@ export default function Mission() {
5155 Our Mission & Vision
5256 </ h1 >
5357 < p className = "text-xl text-gray-300 max-w-4xl mx-auto leading-relaxed" >
54- Empowering developers worldwide with innovative, accessible tools that accelerate software development and foster collaborative open-source communities.
58+ Empowering developers worldwide with innovative, accessible tools
59+ that accelerate software development and foster collaborative
60+ open-source communities.
5561 </ p >
5662 </ motion . div >
5763
5864 < div className = "grid lg:grid-cols-2 gap-16 items-center" >
59- < motion . div
65+ < motion . div
6066 className = "space-y-8"
6167 initial = { { opacity : 0 , x : - 30 } }
6268 animate = { { opacity : 1 , x : 0 } }
6369 transition = { { delay : 0.3 } }
6470 >
6571 < div className = "space-y-6" >
66- { missionPoints . map ( ( { icon : Icon , title, description, color } , index ) => (
67- < motion . div
68- key = { title }
69- className = "flex items-start space-x-4"
70- initial = { { opacity : 0 , y : 20 } }
71- animate = { { opacity : 1 , y : 0 } }
72- transition = { { delay : 0.4 + index * 0.1 } }
73- >
74- < div className = { `w-12 h-12 bg-${ color } rounded-xl flex items-center justify-center flex-shrink-0 mt-1` } >
75- < Icon className = "w-6 h-6 text-white" />
76- </ div >
77- < div >
78- < h3 className = "text-2xl font-bold mb-3" > { title } </ h3 >
79- < p className = "text-gray-300 leading-relaxed" > { description } </ p >
80- </ div >
81- </ motion . div >
82- ) ) }
72+ { missionPoints . map (
73+ ( { icon : Icon , title, description, color } , index ) => (
74+ < motion . div
75+ key = { title }
76+ className = "flex items-start space-x-4"
77+ initial = { { opacity : 0 , y : 20 } }
78+ animate = { { opacity : 1 , y : 0 } }
79+ transition = { { delay : 0.4 + index * 0.1 } }
80+ >
81+ < div
82+ className = { `w-12 h-12 bg-${ color } rounded-xl flex items-center justify-center flex-shrink-0 mt-1` }
83+ >
84+ < Icon className = "w-6 h-6 text-white" />
85+ </ div >
86+ < div >
87+ < h3 className = "text-2xl font-bold mb-3" > { title } </ h3 >
88+ < p className = "text-gray-300 leading-relaxed" >
89+ { description }
90+ </ p >
91+ </ div >
92+ </ motion . div >
93+ )
94+ ) }
8395 </ div >
8496 </ motion . div >
8597
86- < motion . div
98+ < motion . div
8799 className = "relative"
88100 initial = { { opacity : 0 , x : 30 } }
89101 animate = { { opacity : 1 , x : 0 } }
90102 transition = { { delay : 0.5 } }
91103 >
92- < img
93- src = "https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3& w = 800 & h = 600 & fit = crop "
104+ < img
105+ src = "https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3& w = 800 & h = 600 & fit = crop "
94106 alt = "Diverse software development team collaborating"
95- className = "rounded-2xl shadow-2xl w-full h-auto"
107+ className = "rounded-2xl shadow-2xl w-full h-auto"
96108 />
97109 < div className = "absolute inset-0 bg-gradient-to-t from-blue-accent/20 to-transparent rounded-2xl" > </ div >
98110 </ motion . div >
@@ -103,7 +115,7 @@ export default function Mission() {
103115 { /* Team Section */ }
104116 < section className = "py-20 bg-white dark:bg-gray-800" >
105117 < div className = "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8" >
106- < motion . div
118+ < motion . div
107119 className = "text-center mb-16"
108120 initial = { { opacity : 0 , y : 20 } }
109121 whileInView = { { opacity : 1 , y : 0 } }
@@ -113,14 +125,17 @@ export default function Mission() {
113125 Meet Our Team
114126 </ h2 >
115127 < p className = "text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto" >
116- Passionate developers, designers, and innovators working together to build the future of development tools
128+ Passionate developers, designers, and innovators working together
129+ to build the future of development tools
117130 </ p >
118131 </ motion . div >
119132
120133 { teamLoading ? (
121134 < div className = "text-center py-12" >
122135 < div className = "inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-blue-accent" > </ div >
123- < p className = "mt-4 text-gray-600 dark:text-gray-400" > Loading team members...</ p >
136+ < p className = "mt-4 text-gray-600 dark:text-gray-400" >
137+ Loading team members...
138+ </ p >
124139 </ div >
125140 ) : (
126141 < div className = "grid md:grid-cols-2 lg:grid-cols-3 gap-8" >
@@ -137,7 +152,7 @@ export default function Mission() {
137152 </ motion . div >
138153 ) )
139154 ) : (
140- < motion . div
155+ < motion . div
141156 className = "col-span-full text-center py-16"
142157 initial = { { opacity : 0 } }
143158 animate = { { opacity : 1 } }
@@ -147,7 +162,8 @@ export default function Mission() {
147162 Team Information Unavailable
148163 </ h3 >
149164 < p className = "text-gray-500 dark:text-gray-500 max-w-md mx-auto" >
150- Team member information will be displayed here once the data is loaded.
165+ Team member information will be displayed here once the data
166+ is loaded.
151167 </ p >
152168 </ motion . div >
153169 ) }
0 commit comments