|  | 
|  | 1 | +import { BookOpenCheck, ArrowLeft } from 'lucide-react'; | 
|  | 2 | +import GuideStep from './GuideStep'; | 
|  | 3 | +import FAQSection from './FAQSection'; | 
|  | 4 | +import ResourcesSection from './ResourcesSection'; | 
|  | 5 | +import { GUIDE_STEPS, FAQS, RESOURCES } from './guide'; | 
|  | 6 | + | 
|  | 7 | +interface ContributionGuideProps { | 
|  | 8 | +  onBackToEvents: () => void; | 
|  | 9 | +} | 
|  | 10 | + | 
|  | 11 | +export default function ContributionGuide({ onBackToEvents }: ContributionGuideProps) { | 
|  | 12 | +  return ( | 
|  | 13 | +    <div className="min-h-screen bg-gray-50 dark:bg-gray-900"> | 
|  | 14 | +      <div className="bg-gradient-to-br from-green-50 to-emerald-50 dark:from-gray-900 dark:to-gray-800 border-b border-gray-200 dark:border-gray-700"> | 
|  | 15 | +        <div className="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> | 
|  | 16 | +          <button | 
|  | 17 | +            onClick={onBackToEvents} | 
|  | 18 | +            className="flex items-center gap-2 text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white mb-6 transition-colors" | 
|  | 19 | +          > | 
|  | 20 | +            <ArrowLeft className="w-4 h-4" /> | 
|  | 21 | +            <span>Back to Events</span> | 
|  | 22 | +          </button> | 
|  | 23 | + | 
|  | 24 | +          <div className="flex items-center gap-4 mb-6"> | 
|  | 25 | +            <div className="flex items-center justify-center w-16 h-16 bg-green-600 dark:bg-green-500 rounded-2xl shadow-lg"> | 
|  | 26 | +              <BookOpenCheck className="w-8 h-8 text-white" /> | 
|  | 27 | +            </div> | 
|  | 28 | +            <div> | 
|  | 29 | +              <h1 className="text-4xl md:text-5xl font-bold text-gray-900 dark:text-white"> | 
|  | 30 | +                Contribution Guide | 
|  | 31 | +              </h1> | 
|  | 32 | +              <p className="text-gray-600 dark:text-gray-400 mt-1"> | 
|  | 33 | +                Your step-by-step journey into open source | 
|  | 34 | +              </p> | 
|  | 35 | +            </div> | 
|  | 36 | +          </div> | 
|  | 37 | + | 
|  | 38 | +          <p className="text-lg text-gray-700 dark:text-gray-300 leading-relaxed max-w-3xl"> | 
|  | 39 | +            Contributing to open source can seem intimidating at first, but it's one of the most rewarding | 
|  | 40 | +            ways to learn, teach, and build experience. This guide will walk you through every step of making | 
|  | 41 | +            your first contribution, from finding a project to getting your pull request merged. | 
|  | 42 | +          </p> | 
|  | 43 | +        </div> | 
|  | 44 | +      </div> | 
|  | 45 | + | 
|  | 46 | +      <div className="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> | 
|  | 47 | +        <div className="mb-16"> | 
|  | 48 | +          <div className="flex items-center gap-3 mb-8"> | 
|  | 49 | +            <div className="h-1 w-12 bg-blue-600 dark:bg-blue-500 rounded-full"></div> | 
|  | 50 | +            <h2 className="text-3xl font-bold text-gray-900 dark:text-white"> | 
|  | 51 | +              Getting Started | 
|  | 52 | +            </h2> | 
|  | 53 | +          </div> | 
|  | 54 | + | 
|  | 55 | +          <div className="space-y-0"> | 
|  | 56 | +            {GUIDE_STEPS.map((step, index) => ( | 
|  | 57 | +              <GuideStep key={step.id} step={step} index={index} /> | 
|  | 58 | +            ))} | 
|  | 59 | +          </div> | 
|  | 60 | +        </div> | 
|  | 61 | + | 
|  | 62 | +        <div className="space-y-8"> | 
|  | 63 | +          <FAQSection faqs={FAQS} /> | 
|  | 64 | +          <ResourcesSection resources={RESOURCES} /> | 
|  | 65 | +        </div> | 
|  | 66 | + | 
|  | 67 | +        <div className="mt-12 bg-gradient-to-r from-blue-600 to-cyan-600 dark:from-blue-700 dark:to-cyan-700 rounded-2xl p-8 text-center text-white"> | 
|  | 68 | +          <h3 className="text-2xl font-bold mb-3">Ready to Get Started?</h3> | 
|  | 69 | +          <p className="mb-6 text-blue-50"> | 
|  | 70 | +            Browse open source events and find the perfect project for your first contribution. | 
|  | 71 | +          </p> | 
|  | 72 | +          <button | 
|  | 73 | +            onClick={onBackToEvents} | 
|  | 74 | +            className="inline-flex items-center gap-2 px-6 py-3 bg-white text-blue-600 font-semibold rounded-lg hover:bg-blue-50 transition-colors shadow-lg" | 
|  | 75 | +          > | 
|  | 76 | +            <ArrowLeft className="w-5 h-5" /> | 
|  | 77 | +            Back to Events | 
|  | 78 | +          </button> | 
|  | 79 | +        </div> | 
|  | 80 | +      </div> | 
|  | 81 | +    </div> | 
|  | 82 | +  ); | 
|  | 83 | +} | 
0 commit comments