|
1 | | - |
2 | 1 | import React from 'react'; |
3 | 2 | import StarBackground from '@/components/StarBackground'; |
4 | 3 | import { GraduationCap, BookOpen, Video, Users, Award, Sparkles, Leaf, Brain, Coins, ShoppingCart, Heart, Lightbulb, ExternalLink } from 'lucide-react'; |
@@ -69,27 +68,38 @@ const CourseCard = ({ |
69 | 68 | </Card> |
70 | 69 | ); |
71 | 70 |
|
72 | | -const PartnerCard = ({ name, url, logo }: { name: string; url: string; logo?: string }) => ( |
| 71 | +const PartnerCard = ({ name, url, logoUrl }: { name: string; url: string; logoUrl?: string }) => ( |
73 | 72 | <a |
74 | 73 | href={url} |
75 | 74 | target="_blank" |
76 | 75 | rel="noopener noreferrer" |
77 | | - className="bg-alien-space-dark/80 backdrop-blur-md rounded-xl p-6 border border-alien-gold/30 hover:border-alien-gold/60 transition-all duration-300 hover:transform hover:scale-105 group flex items-center justify-center min-h-[120px] relative overflow-hidden" |
| 76 | + className="bg-alien-space-dark/70 backdrop-blur-md rounded-xl p-4 border border-alien-gold/20 hover:border-alien-gold/50 transition-all duration-300 hover:transform hover:scale-105 group flex items-center justify-center min-h-[100px] relative overflow-hidden" |
78 | 77 | > |
79 | 78 | <div className="absolute inset-0 bg-gradient-to-br from-alien-gold/5 to-alien-green/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div> |
80 | 79 | <div className="text-center relative z-10"> |
81 | | - {logo ? ( |
82 | | - <img |
83 | | - src={logo} |
84 | | - alt={name} |
85 | | - className="w-12 h-12 mx-auto mb-3 object-contain group-hover:scale-110 transition-transform duration-300" |
86 | | - /> |
| 80 | + {logoUrl ? ( |
| 81 | + <div className="w-12 h-12 mx-auto mb-2 flex items-center justify-center"> |
| 82 | + <img |
| 83 | + src={logoUrl} |
| 84 | + alt={`${name} logo`} |
| 85 | + className="max-w-full max-h-full object-contain group-hover:scale-110 transition-transform duration-300" |
| 86 | + onError={(e) => { |
| 87 | + // Fallback to letter icon if image fails to load |
| 88 | + const target = e.target as HTMLImageElement; |
| 89 | + target.style.display = 'none'; |
| 90 | + target.nextElementSibling?.classList.remove('hidden'); |
| 91 | + }} |
| 92 | + /> |
| 93 | + <div className="w-10 h-10 bg-alien-gold/20 rounded-lg items-center justify-center border border-alien-gold/30 hidden"> |
| 94 | + <span className="text-alien-gold font-bold text-sm">{name.charAt(0)}</span> |
| 95 | + </div> |
| 96 | + </div> |
87 | 97 | ) : ( |
88 | | - <div className="w-12 h-12 mx-auto mb-3 bg-alien-gold/20 rounded-lg flex items-center justify-center border border-alien-gold/30"> |
| 98 | + <div className="w-12 h-12 mx-auto mb-2 bg-alien-gold/20 rounded-lg flex items-center justify-center border border-alien-gold/30"> |
89 | 99 | <span className="text-alien-gold font-bold text-lg">{name.charAt(0)}</span> |
90 | 100 | </div> |
91 | 101 | )} |
92 | | - <h3 className="text-alien-gold font-semibold text-sm group-hover:text-alien-gold-light transition-colors font-[Exo] mb-1"> |
| 102 | + <h3 className="text-alien-gold font-semibold text-xs group-hover:text-alien-gold-light transition-colors font-[Exo] mb-1"> |
93 | 103 | {name} |
94 | 104 | </h3> |
95 | 105 | <ExternalLink className="w-3 h-3 text-alien-green mx-auto opacity-0 group-hover:opacity-100 transition-opacity duration-300" /> |
@@ -218,72 +228,67 @@ const Academy: React.FC = () => { |
218 | 228 | { |
219 | 229 | name: "Alchemy", |
220 | 230 | url: "https://www.alchemy.com/", |
221 | | - logo: "https://docs.alchemy.com/img/logo.svg" |
| 231 | + logoUrl: "https://assets-global.website-files.com/618b0aafa4afde65f2fe38fe/618b0aafa4afde7888fe3a17_logo_mark.svg" |
222 | 232 | }, |
223 | 233 | { |
224 | 234 | name: "AulaFacil", |
225 | 235 | url: "https://www.aulafacil.com/", |
226 | | - logo: "https://www.aulafacil.com/favicon.ico" |
| 236 | + logoUrl: "https://www.aulafacil.com/images/af-logo-header.png" |
227 | 237 | }, |
228 | 238 | { |
229 | 239 | name: "Explore", |
230 | 240 | url: "https://www.explore.org/", |
231 | | - logo: "https://www.explore.org/favicon.ico" |
| 241 | + logoUrl: "https://cdn.explore.org/logo-full-white.png" |
232 | 242 | }, |
233 | 243 | { |
234 | 244 | name: "OEGlobal", |
235 | 245 | url: "https://www.oeglobal.org/", |
236 | | - logo: "https://www.oeglobal.org/wp-content/uploads/2019/04/cropped-OEGlobal-logo-only-scaled-32x32.png" |
| 246 | + logoUrl: "https://www.oeglobal.org/wp-content/uploads/2019/04/OEGlobal-logo-only-1024x1024.png" |
237 | 247 | }, |
238 | 248 | { |
239 | 249 | name: "OpenupEd", |
240 | 250 | url: "https://www.openuped.eu/", |
241 | | - logo: "https://www.openuped.eu/images/openuped_logo.png" |
| 251 | + logoUrl: "https://www.openuped.eu/images/OuE-logo.png" |
242 | 252 | }, |
243 | 253 | { |
244 | 254 | name: "UNSSC", |
245 | 255 | url: "https://www.unssc.org/", |
246 | | - logo: "https://www.unssc.org/sites/unssc/files/favicon_0.ico" |
| 256 | + logoUrl: "https://www.unssc.org/sites/unssc/files/logo.png" |
247 | 257 | }, |
248 | 258 | { |
249 | 259 | name: "EdX", |
250 | 260 | url: "https://www.edx.org/", |
251 | | - logo: "https://www.edx.org/favicon.ico" |
| 261 | + logoUrl: "https://d2o2utebsixu4k.cloudfront.net/Logos%20for%20Web-02.svg" |
252 | 262 | }, |
253 | 263 | { |
254 | | - name: "Google", |
| 264 | + name: "Google for Education", |
255 | 265 | url: "https://edu.google.com/", |
256 | | - logo: "https://www.google.com/favicon.ico" |
257 | | - }, |
258 | | - { |
259 | | - name: "MOOC", |
260 | | - url: "https://www.mooc.org/", |
261 | | - logo: "https://www.mooc.org/favicon.ico" |
| 266 | + logoUrl: "https://www.gstatic.com/images/branding/googlelogo/svg/googlelogo_clr_74x24px.svg" |
262 | 267 | }, |
263 | 268 | { |
264 | 269 | name: "Khan Academy", |
265 | 270 | url: "https://www.khanacademy.org/", |
266 | | - logo: "https://www.khanacademy.org/favicon.ico" |
| 271 | + logoUrl: "https://cdn.kastatic.org/images/khan-logo-dark-background.png" |
267 | 272 | }, |
268 | 273 | { |
269 | 274 | name: "Hotmart", |
270 | 275 | url: "https://www.hotmart.com/", |
271 | | - logo: "https://static.hotmart.com/favicon.ico" |
| 276 | + logoUrl: "https://static.hotmart.com/img/hotmart-logo.svg" |
272 | 277 | }, |
273 | 278 | { |
274 | 279 | name: "Udemy", |
275 | 280 | url: "https://www.udemy.com/", |
276 | | - logo: "https://www.udemy.com/staticx/udemy/images/v7/favicon.ico" |
| 281 | + logoUrl: "https://www.udemy.com/staticx/udemy/images/v7/logo-udemy-inverted.svg" |
277 | 282 | }, |
278 | 283 | { |
279 | 284 | name: "Unity Learn", |
280 | 285 | url: "https://learn.unity.com/", |
281 | | - logo: "https://unity.com/favicon.ico" |
| 286 | + logoUrl: "https://unity.com/logo/unity-logo-293w-white.png" |
282 | 287 | }, |
283 | 288 | { |
284 | 289 | name: "Unreal Engine", |
285 | 290 | url: "https://www.unrealengine.com/en-US/learn", |
286 | | - logo: "https://www.unrealengine.com/favicon.ico" |
| 291 | + logoUrl: "https://cdn2.unrealengine.com/ue-logo-stacked-white-530x680-d09f1b91cadc.svg" |
287 | 292 | } |
288 | 293 | ]; |
289 | 294 |
|
@@ -384,7 +389,7 @@ const Academy: React.FC = () => { |
384 | 389 | <p className="text-gray-300 text-center mb-12 font-[Exo]"> |
385 | 390 | We collaborate with the world's best educational platforms |
386 | 391 | </p> |
387 | | - <div className="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-7 gap-6"> |
| 392 | + <div className="grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-7 gap-4"> |
388 | 393 | {partners.map((partner, index) => ( |
389 | 394 | <PartnerCard key={index} {...partner} /> |
390 | 395 | ))} |
|
0 commit comments