gaialive commited on
Commit
f9a238e
·
verified ·
1 Parent(s): e89b9c5

Upload 2 files

Browse files
Files changed (1) hide show
  1. frontend/src/pages/MissionHubs.jsx +16 -16
frontend/src/pages/MissionHubs.jsx CHANGED
@@ -91,21 +91,21 @@ const MissionHubs = () => {
91
  return (
92
  <div className="max-w-7xl mx-auto">
93
  <div className="text-center mb-12">
94
- <h1 className="text-4xl font-bold text-gray-800 mb-4">Mission Hubs</h1>
95
- <p className="text-xl text-gray-600 max-w-3xl mx-auto">
96
  Explore our 6 Systems-Based Missions designed to transform the Sustainable Development Goals
97
  into integrated, actionable roadmaps for policy, projects, finance, and metrics.
98
  </p>
99
  <div className="mt-6">
100
  {backendStatus === 'OK' ? (
101
- <span className="inline-flex items-center px-4 py-2 rounded-full text-sm font-medium bg-green-100 text-green-800">
102
  <svg className="mr-2 h-3 w-3 text-green-400" fill="currentColor" viewBox="0 0 8 8">
103
  <circle cx="4" cy="4" r="3" />
104
  </svg>
105
  Connected to backend
106
  </span>
107
  ) : (
108
- <span className="inline-flex items-center px-4 py-2 rounded-full text-sm font-medium bg-yellow-100 text-yellow-800">
109
  <svg className="mr-2 h-3 w-3 text-yellow-400" fill="currentColor" viewBox="0 0 8 8">
110
  <circle cx="4" cy="4" r="3" />
111
  </svg>
@@ -131,11 +131,11 @@ const MissionHubs = () => {
131
  <div className={`${mission.color} mission-icon text-white shadow-lg`}>
132
  {mission.name.charAt(0)}
133
  </div>
134
- <h3 className="text-2xl font-bold text-gray-800 mb-3">{mission.name}</h3>
135
- <p className="text-gray-600 mb-6">{mission.description}</p>
136
  <div className="flex justify-between items-center">
137
- <span className="text-sm text-gray-500">Click for details</span>
138
- <svg className="w-6 h-6 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
139
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M9 5l7 7-7 7"></path>
140
  </svg>
141
  </div>
@@ -148,19 +148,19 @@ const MissionHubs = () => {
148
  {/* Mission Details Modal */}
149
  {selectedMission && (
150
  <div className="fixed inset-0 bg-black bg-opacity-70 flex items-center justify-center p-4 z-50">
151
- <div className="bg-white rounded-3xl max-w-3xl w-full max-h-[90vh] overflow-y-auto">
152
  <div className="p-8">
153
  <div className="flex justify-between items-start mb-6">
154
  <div>
155
  <div className={`${selectedMission.color} mission-icon w-24 h-24 text-4xl`}>
156
  {selectedMission.name.charAt(0)}
157
  </div>
158
- <h2 className="text-3xl font-bold text-gray-800 mt-4">{selectedMission.name}</h2>
159
- <p className="text-xl text-gray-600">{selectedMission.description}</p>
160
  </div>
161
  <button
162
  onClick={closeMissionDetails}
163
- className="text-gray-500 hover:text-gray-700 bg-gray-100 rounded-full p-2"
164
  >
165
  <svg className="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
166
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M6 18L18 6M6 6l12 12"></path>
@@ -169,13 +169,13 @@ const MissionHubs = () => {
169
  </div>
170
 
171
  <div className="mt-8">
172
- <h3 className="text-2xl font-semibold text-gray-800 mb-4">Objectives</h3>
173
- <p className="text-gray-700 text-lg bg-gray-50 p-6 rounded-2xl">{selectedMission.objectives}</p>
174
  </div>
175
 
176
  <div className="mt-8">
177
- <h3 className="text-2xl font-semibold text-gray-800 mb-4">Target Actors</h3>
178
- <p className="text-gray-700 text-lg bg-gray-50 p-6 rounded-2xl">{selectedMission.target_actors}</p>
179
  </div>
180
 
181
  <div className="mt-10 flex justify-end">
 
91
  return (
92
  <div className="max-w-7xl mx-auto">
93
  <div className="text-center mb-12">
94
+ <h1 className="text-4xl font-bold text-gray-800 dark:text-white mb-4">Mission Hubs</h1>
95
+ <p className="text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto">
96
  Explore our 6 Systems-Based Missions designed to transform the Sustainable Development Goals
97
  into integrated, actionable roadmaps for policy, projects, finance, and metrics.
98
  </p>
99
  <div className="mt-6">
100
  {backendStatus === 'OK' ? (
101
+ <span className="inline-flex items-center px-4 py-2 rounded-full text-sm font-medium bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200">
102
  <svg className="mr-2 h-3 w-3 text-green-400" fill="currentColor" viewBox="0 0 8 8">
103
  <circle cx="4" cy="4" r="3" />
104
  </svg>
105
  Connected to backend
106
  </span>
107
  ) : (
108
+ <span className="inline-flex items-center px-4 py-2 rounded-full text-sm font-medium bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200">
109
  <svg className="mr-2 h-3 w-3 text-yellow-400" fill="currentColor" viewBox="0 0 8 8">
110
  <circle cx="4" cy="4" r="3" />
111
  </svg>
 
131
  <div className={`${mission.color} mission-icon text-white shadow-lg`}>
132
  {mission.name.charAt(0)}
133
  </div>
134
+ <h3 className="text-2xl font-bold text-gray-800 dark:text-white mb-3">{mission.name}</h3>
135
+ <p className="text-gray-600 dark:text-gray-300 mb-6">{mission.description}</p>
136
  <div className="flex justify-between items-center">
137
+ <span className="text-sm text-gray-500 dark:text-gray-400">Click for details</span>
138
+ <svg className="w-6 h-6 text-gray-400 dark:text-gray-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
139
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M9 5l7 7-7 7"></path>
140
  </svg>
141
  </div>
 
148
  {/* Mission Details Modal */}
149
  {selectedMission && (
150
  <div className="fixed inset-0 bg-black bg-opacity-70 flex items-center justify-center p-4 z-50">
151
+ <div className="bg-white dark:bg-slate-800 rounded-3xl max-w-3xl w-full max-h-[90vh] overflow-y-auto">
152
  <div className="p-8">
153
  <div className="flex justify-between items-start mb-6">
154
  <div>
155
  <div className={`${selectedMission.color} mission-icon w-24 h-24 text-4xl`}>
156
  {selectedMission.name.charAt(0)}
157
  </div>
158
+ <h2 className="text-3xl font-bold text-gray-800 dark:text-white mt-4">{selectedMission.name}</h2>
159
+ <p className="text-xl text-gray-600 dark:text-gray-300">{selectedMission.description}</p>
160
  </div>
161
  <button
162
  onClick={closeMissionDetails}
163
+ className="text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 bg-gray-100 dark:bg-slate-700 rounded-full p-2"
164
  >
165
  <svg className="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
166
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M6 18L18 6M6 6l12 12"></path>
 
169
  </div>
170
 
171
  <div className="mt-8">
172
+ <h3 className="text-2xl font-semibold text-gray-800 dark:text-white mb-4">Objectives</h3>
173
+ <p className="text-gray-700 dark:text-gray-300 text-lg bg-gray-50 dark:bg-slate-700 p-6 rounded-2xl">{selectedMission.objectives}</p>
174
  </div>
175
 
176
  <div className="mt-8">
177
+ <h3 className="text-2xl font-semibold text-gray-800 dark:text-white mb-4">Target Actors</h3>
178
+ <p className="text-gray-700 dark:text-gray-300 text-lg bg-gray-50 dark:bg-slate-700 p-6 rounded-2xl">{selectedMission.target_actors}</p>
179
  </div>
180
 
181
  <div className="mt-10 flex justify-end">