|
| 1 | +"use client" |
| 2 | +import React from 'react'; |
| 3 | +import { Trophy, Star } from 'lucide-react'; |
| 4 | +import { Card, CardContent } from '@/components/ui/card'; |
| 5 | + |
| 6 | +const members = [ |
| 7 | + { |
| 8 | + name: "Jane Doe", |
| 9 | + role: "Lead Organizer", |
| 10 | + achievements: [ |
| 11 | + "Organized over 50 successful events", |
| 12 | + "Led the chapter to become one of the top 10 GDG groups globally", |
| 13 | + "Mentored over 100 developers in the community" |
| 14 | + ], |
| 15 | + image: "/hall1.jpeg" |
| 16 | + }, |
| 17 | + { |
| 18 | + name: "John Smith", |
| 19 | + role: "Core Contributor", |
| 20 | + achievements: [ |
| 21 | + "Contributed to multiple open-source projects", |
| 22 | + "Speaker at various GDG events on modern JavaScript frameworks", |
| 23 | + "Co-hosted GDG hackathon with over 500 participants" |
| 24 | + ], |
| 25 | + image: "/hall2.jpeg" |
| 26 | + }, |
| 27 | + { |
| 28 | + name: "Emily Johnson", |
| 29 | + role: "Event Organizer", |
| 30 | + achievements: [ |
| 31 | + "Coordinated community workshops and bootcamps", |
| 32 | + "Built partnerships with local companies to support events", |
| 33 | + "Managed community outreach and engagement" |
| 34 | + ], |
| 35 | + image: "/hall3.jpeg" |
| 36 | + } |
| 37 | +]; |
| 38 | + |
| 39 | +const HallOfFame = () => { |
| 40 | + return ( |
| 41 | + <div className="min-h-screen bg-gradient-to-br from-gray-800 via-gray-700 to-gray-800 text-white p-4 sm:p-8"> |
| 42 | + <header className="text-center mb-12 sm:mb-16"> |
| 43 | + <h1 className="text-3xl sm:text-5xl font-bold mb-4">Hall of Fame</h1> |
| 44 | + <p className="text-lg sm:text-xl">Honoring our long-term contributors and top-performing members</p> |
| 45 | + </header> |
| 46 | + |
| 47 | + <div className="max-w-6xl mx-auto grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 sm:gap-8"> |
| 48 | + {members.map((member, index) => ( |
| 49 | + <Card key={index} className="bg-gradient-to-b from-white/10 to-white/5 rounded-lg shadow-lg"> |
| 50 | + <CardContent className="p-6 text-center"> |
| 51 | + <img |
| 52 | + src={member.image} |
| 53 | + alt={member.name} |
| 54 | + className="w-24 h-24 sm:w-32 sm:h-32 rounded-full mx-auto mb-4 border-4 border-white/20" |
| 55 | + /> |
| 56 | + <h2 className="text-2xl font-bold mb-2">{member.name}</h2> |
| 57 | + <p className="text-sm text-white/70 mb-4">{member.role}</p> |
| 58 | + |
| 59 | + <div className="text-left"> |
| 60 | + <h4 className="text-lg font-semibold flex items-center gap-2 mb-2"> |
| 61 | + <Trophy size={20} /> Achievements |
| 62 | + </h4> |
| 63 | + <ul className="list-disc list-inside space-y-2"> |
| 64 | + {member.achievements.map((achievement, idx) => ( |
| 65 | + <li key={idx} className="flex items-start gap-2"> |
| 66 | + <Star size={16} className="text-yellow-400 mt-1" /> |
| 67 | + <span>{achievement}</span> |
| 68 | + </li> |
| 69 | + ))} |
| 70 | + </ul> |
| 71 | + </div> |
| 72 | + </CardContent> |
| 73 | + </Card> |
| 74 | + ))} |
| 75 | + </div> |
| 76 | + </div> |
| 77 | + ); |
| 78 | +}; |
| 79 | + |
| 80 | +export default HallOfFame; |
| 81 | + |
| 82 | +// New Style for the Page |
| 83 | +export const styles = { |
| 84 | + cardStyle: "bg-gradient-to-b from-white/10 to-white/5 rounded-lg shadow-lg transition-transform transform hover:scale-105 hover:shadow-2xl", |
| 85 | + headerStyle: "text-center text-3xl sm:text-5xl font-bold mb-4 text-transparent bg-clip-text bg-gradient-to-r from-yellow-400 via-red-500 to-pink-500", |
| 86 | + buttonStyle: "p-3 rounded-full bg-gradient-to-r from-green-400 to-blue-500 hover:from-blue-500 hover:to-green-400 transition-colors text-white font-semibold" |
| 87 | +}; |
0 commit comments