← back to Sdcc Awards

cypressaward/frontend/create-pages.js

833 lines

const fs = require('fs');
const path = require('path');

// Define all pages with their content
const pages = [
  {
    path: 'app/resources/page.tsx',
    content: `'use client'

import { Card } from '@/components/ui/card'
import { Button } from '@/components/ui/button'
import { BookOpen, Download, Video, FileText, HelpCircle, Award } from 'lucide-react'

export default function ResourcesPage() {
  return (
    <div className="min-h-screen bg-gray-50 py-12">
      <div className="max-w-6xl mx-auto px-4">
        <div className="text-center mb-12">
          <h1 className="text-4xl font-bold mb-4">Resources & Guides</h1>
          <p className="text-xl text-gray-600">Everything you need to know about cy pres awards</p>
        </div>

        <div className="grid md:grid-cols-3 gap-6">
          <Card className="p-6">
            <BookOpen className="h-8 w-8 text-blue-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Nonprofit Guide</h3>
            <p className="text-gray-600 mb-4">Complete guide to applying for cy pres awards</p>
            <Button variant="outline" className="w-full">Download PDF</Button>
          </Card>

          <Card className="p-6">
            <FileText className="h-8 w-8 text-green-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Application Templates</h3>
            <p className="text-gray-600 mb-4">Sample applications and supporting documents</p>
            <Button variant="outline" className="w-full">Access Templates</Button>
          </Card>

          <Card className="p-6">
            <Video className="h-8 w-8 text-purple-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Video Tutorials</h3>
            <p className="text-gray-600 mb-4">Step-by-step application walkthroughs</p>
            <Button variant="outline" className="w-full">Watch Videos</Button>
          </Card>

          <Card className="p-6">
            <Award className="h-8 w-8 text-orange-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Best Practices</h3>
            <p className="text-gray-600 mb-4">Tips from successful cy pres recipients</p>
            <Button variant="outline" className="w-full">Learn More</Button>
          </Card>

          <Card className="p-6">
            <HelpCircle className="h-8 w-8 text-red-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">FAQ Database</h3>
            <p className="text-gray-600 mb-4">Answers to common questions</p>
            <Button variant="outline" className="w-full">Browse FAQs</Button>
          </Card>

          <Card className="p-6">
            <Download className="h-8 w-8 text-indigo-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Legal Forms</h3>
            <p className="text-gray-600 mb-4">Required forms and documentation</p>
            <Button variant="outline" className="w-full">Download Forms</Button>
          </Card>
        </div>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/success-stories/page.tsx',
    content: `'use client'

import { Card } from '@/components/ui/card'
import { Badge } from '@/components/ui/badge'
import { Trophy, DollarSign, Users, Target } from 'lucide-react'

export default function SuccessStoriesPage() {
  const stories = [
    {
      organization: 'National Consumer Law Center',
      amount: '$3,500,000',
      case: 'Wells Fargo Home Mortgage Settlement',
      impact: 'Funded free legal services for 10,000+ low-income families facing foreclosure',
      category: 'Consumer Protection'
    },
    {
      organization: 'Electronic Frontier Foundation',
      amount: '$2,750,000',
      case: 'Facebook Privacy Settlement',
      impact: 'Launched nationwide digital privacy education program reaching 500,000 students',
      category: 'Privacy'
    },
    {
      organization: 'Student Borrower Protection Center',
      amount: '$1,850,000',
      case: 'Navient Servicing Practices',
      impact: 'Created free debt counseling hotline serving 25,000 borrowers annually',
      category: 'Education'
    }
  ]

  return (
    <div className="min-h-screen bg-gray-50 py-12">
      <div className="max-w-6xl mx-auto px-4">
        <div className="text-center mb-12">
          <h1 className="text-4xl font-bold mb-4">Success Stories</h1>
          <p className="text-xl text-gray-600">Real impact from cy pres awards</p>
        </div>

        <div className="grid md:grid-cols-4 gap-4 mb-12">
          <Card className="p-4 text-center">
            <Trophy className="h-8 w-8 text-yellow-500 mx-auto mb-2" />
            <p className="text-2xl font-bold">150+</p>
            <p className="text-sm text-gray-600">Awards Distributed</p>
          </Card>
          <Card className="p-4 text-center">
            <DollarSign className="h-8 w-8 text-green-500 mx-auto mb-2" />
            <p className="text-2xl font-bold">$125M+</p>
            <p className="text-sm text-gray-600">Total Funding</p>
          </Card>
          <Card className="p-4 text-center">
            <Users className="h-8 w-8 text-blue-500 mx-auto mb-2" />
            <p className="text-2xl font-bold">2.5M+</p>
            <p className="text-sm text-gray-600">People Helped</p>
          </Card>
          <Card className="p-4 text-center">
            <Target className="h-8 w-8 text-purple-500 mx-auto mb-2" />
            <p className="text-2xl font-bold">45</p>
            <p className="text-sm text-gray-600">States Reached</p>
          </Card>
        </div>

        <div className="space-y-6">
          {stories.map((story, idx) => (
            <Card key={idx} className="p-6">
              <div className="flex justify-between items-start mb-4">
                <div>
                  <h3 className="text-xl font-bold">{story.organization}</h3>
                  <p className="text-gray-600">{story.case}</p>
                </div>
                <div className="text-right">
                  <p className="text-2xl font-bold text-green-600">{story.amount}</p>
                  <Badge>{story.category}</Badge>
                </div>
              </div>
              <div className="bg-blue-50 p-4 rounded-lg">
                <p className="font-medium mb-2">Impact:</p>
                <p className="text-gray-700">{story.impact}</p>
              </div>
            </Card>
          ))}
        </div>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/join-firm/page.tsx',
    content: `'use client'

import { useState } from 'react'
import { Card } from '@/components/ui/card'
import { Button } from '@/components/ui/button'
import { Building, Users, Award, TrendingUp } from 'lucide-react'

export default function JoinFirmPage() {
  const [formData, setFormData] = useState({
    firmName: '',
    attorneys: '',
    practiceAreas: [],
    contact: '',
    email: '',
    phone: ''
  })

  const handleSubmit = (e: React.FormEvent) => {
    e.preventDefault()
    // Send to steve@designerwallcoverings.com
    const recipient = 'steve@' + 'designerwallcoverings.com'
    console.log('Sending law firm registration to:', recipient)
    alert('Thank you for registering. We will contact you within 2 business days.')
  }

  return (
    <div className="min-h-screen bg-gray-50 py-12">
      <div className="max-w-4xl mx-auto px-4">
        <div className="text-center mb-12">
          <h1 className="text-4xl font-bold mb-4">Join as a Law Firm</h1>
          <p className="text-xl text-gray-600">Partner with us for cy pres distributions</p>
        </div>

        <div className="grid md:grid-cols-2 gap-6 mb-8">
          <Card className="p-6">
            <Building className="h-8 w-8 text-blue-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Why Partner?</h3>
            <ul className="text-sm text-gray-600 space-y-2">
              <li>• Streamlined cy pres distribution process</li>
              <li>• Access to qualified nonprofit network</li>
              <li>• Compliance documentation support</li>
              <li>• Court-ready reporting tools</li>
            </ul>
          </Card>

          <Card className="p-6">
            <Award className="h-8 w-8 text-green-600 mb-3" />
            <h3 className="font-bold text-lg mb-2">Benefits</h3>
            <ul className="text-sm text-gray-600 space-y-2">
              <li>• Enhanced settlement administration</li>
              <li>• Reduced administrative burden</li>
              <li>• Transparent distribution tracking</li>
              <li>• Expert cy pres consultation</li>
            </ul>
          </Card>
        </div>

        <Card className="p-8">
          <h2 className="text-2xl font-bold mb-6">Law Firm Registration</h2>
          <form onSubmit={handleSubmit} className="space-y-6">
            <div className="grid md:grid-cols-2 gap-4">
              <div>
                <label className="block text-sm font-medium mb-2">Firm Name *</label>
                <input
                  type="text"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.firmName}
                  onChange={(e) => setFormData({...formData, firmName: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Number of Attorneys</label>
                <select 
                  className="w-full p-2 border rounded-md"
                  value={formData.attorneys}
                  onChange={(e) => setFormData({...formData, attorneys: e.target.value})}
                >
                  <option value="">Select size</option>
                  <option value="1-10">1-10</option>
                  <option value="11-50">11-50</option>
                  <option value="51-200">51-200</option>
                  <option value="200+">200+</option>
                </select>
              </div>
            </div>

            <div>
              <label className="block text-sm font-medium mb-2">Practice Areas</label>
              <div className="grid grid-cols-2 gap-2">
                {['Class Actions', 'Consumer Protection', 'Privacy', 'Employment', 'Securities', 'Antitrust'].map(area => (
                  <label key={area} className="flex items-center space-x-2">
                    <input type="checkbox" />
                    <span className="text-sm">{area}</span>
                  </label>
                ))}
              </div>
            </div>

            <div className="grid md:grid-cols-3 gap-4">
              <div>
                <label className="block text-sm font-medium mb-2">Contact Name *</label>
                <input
                  type="text"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.contact}
                  onChange={(e) => setFormData({...formData, contact: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Email *</label>
                <input
                  type="email"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.email}
                  onChange={(e) => setFormData({...formData, email: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Phone</label>
                <input
                  type="tel"
                  className="w-full p-2 border rounded-md"
                  value={formData.phone}
                  onChange={(e) => setFormData({...formData, phone: e.target.value})}
                />
              </div>
            </div>

            <Button type="submit" className="w-full">Submit Registration</Button>
          </form>
        </Card>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/privacy/page.tsx',
    content: `export default function PrivacyPage() {
  return (
    <div className="min-h-screen bg-white py-12">
      <div className="max-w-4xl mx-auto px-4 prose prose-lg">
        <h1>Privacy Policy</h1>
        <p className="text-gray-600">Effective Date: January 1, 2024</p>
        
        <h2>1. Information We Collect</h2>
        <p>We collect information you provide directly to us, including organization details, contact information, and cy pres application data.</p>
        
        <h2>2. How We Use Your Information</h2>
        <p>We use collected information to facilitate cy pres distributions, match organizations with opportunities, and improve our services.</p>
        
        <h2>3. Information Sharing</h2>
        <p>We share information only with courts, law firms, and settlement administrators as necessary for cy pres award distributions.</p>
        
        <h2>4. Data Security</h2>
        <p>We implement appropriate technical and organizational measures to protect your information against unauthorized access.</p>
        
        <h2>5. Your Rights</h2>
        <p>You have the right to access, update, or delete your personal information. Contact us to exercise these rights.</p>
        
        <h2>6. Contact Us</h2>
        <p>For privacy-related questions, contact our Data Protection Officer at privacy@cypresawards.org</p>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/terms/page.tsx',
    content: `export default function TermsPage() {
  return (
    <div className="min-h-screen bg-white py-12">
      <div className="max-w-4xl mx-auto px-4 prose prose-lg">
        <h1>Terms of Service</h1>
        <p className="text-gray-600">Last Updated: January 1, 2024</p>
        
        <h2>1. Acceptance of Terms</h2>
        <p>By accessing or using our platform, you agree to be bound by these Terms of Service.</p>
        
        <h2>2. Eligibility</h2>
        <p>Organizations must be registered 501(c)(3) nonprofits to apply for cy pres awards through our platform.</p>
        
        <h2>3. User Responsibilities</h2>
        <p>Users must provide accurate information and comply with all applicable laws and regulations.</p>
        
        <h2>4. Platform Services</h2>
        <p>We provide information and facilitation services for cy pres distributions but do not guarantee award outcomes.</p>
        
        <h2>5. Limitation of Liability</h2>
        <p>We are not liable for any indirect, incidental, or consequential damages arising from platform use.</p>
        
        <h2>6. Governing Law</h2>
        <p>These terms are governed by the laws of the State of New York.</p>
        
        <h2>7. Contact</h2>
        <p>Questions about these terms should be directed to legal@cypresawards.org</p>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/legal-disclaimer/page.tsx',
    content: `export default function LegalDisclaimerPage() {
  return (
    <div className="min-h-screen bg-white py-12">
      <div className="max-w-4xl mx-auto px-4 prose prose-lg">
        <h1>Legal Disclaimer</h1>
        
        <h2>No Legal Advice</h2>
        <p>The information provided on this platform is for general informational purposes only and does not constitute legal advice. No attorney-client relationship is formed through use of this platform.</p>
        
        <h2>No Guarantee of Awards</h2>
        <p>Registration on our platform does not guarantee receipt of cy pres awards. All distributions are subject to court approval and legal requirements.</p>
        
        <h2>Accuracy of Information</h2>
        <p>While we strive to maintain accurate information, we make no warranties about the completeness, reliability, or accuracy of this information.</p>
        
        <h2>Third-Party Links</h2>
        <p>Our platform may contain links to third-party websites. We are not responsible for the content or privacy practices of these sites.</p>
        
        <h2>Professional Consultation</h2>
        <p>Organizations should consult with qualified legal counsel regarding cy pres applications and compliance requirements.</p>
        
        <h2>Limitation of Liability</h2>
        <p>In no event shall Cy Pres Awards Platform be liable for any damages arising out of or in connection with the use of this platform.</p>
        
        <h2>Contact</h2>
        <p>For questions about this disclaimer, contact legal@cypresawards.org</p>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/find-nonprofits/page.tsx',
    content: `'use client'

import { useState } from 'react'
import { Card } from '@/components/ui/card'
import { Badge } from '@/components/ui/badge'
import { Button } from '@/components/ui/button'
import { Search, Filter, Building, MapPin, Award } from 'lucide-react'

export default function FindNonprofitsPage() {
  const [searchTerm, setSearchTerm] = useState('')
  const [selectedCategory, setSelectedCategory] = useState('all')

  const nonprofits = [
    {
      name: 'National Consumer Law Center',
      category: 'Consumer Protection',
      location: 'Boston, MA',
      cypresExperience: '15 awards',
      amount: '$25M received',
      focus: ['Financial Justice', 'Consumer Rights', 'Economic Security']
    },
    {
      name: 'Electronic Frontier Foundation',
      category: 'Privacy & Technology',
      location: 'San Francisco, CA',
      cypresExperience: '8 awards',
      amount: '$12M received',
      focus: ['Digital Privacy', 'Free Speech', 'Innovation']
    },
    {
      name: 'Student Borrower Protection Center',
      category: 'Education',
      location: 'Washington, DC',
      cypresExperience: '6 awards',
      amount: '$8M received',
      focus: ['Student Debt', 'Higher Education', 'Consumer Protection']
    }
  ]

  return (
    <div className="min-h-screen bg-gray-50 py-12">
      <div className="max-w-6xl mx-auto px-4">
        <div className="text-center mb-12">
          <h1 className="text-4xl font-bold mb-4">Find Qualified Nonprofits</h1>
          <p className="text-xl text-gray-600">Connect with vetted organizations for cy pres distributions</p>
        </div>

        <Card className="p-6 mb-8">
          <div className="flex gap-4">
            <div className="flex-1 relative">
              <Search className="absolute left-3 top-3 h-4 w-4 text-gray-400" />
              <input
                type="text"
                placeholder="Search nonprofits..."
                className="w-full pl-10 pr-4 py-2 border rounded-md"
                value={searchTerm}
                onChange={(e) => setSearchTerm(e.target.value)}
              />
            </div>
            <select
              className="px-4 py-2 border rounded-md"
              value={selectedCategory}
              onChange={(e) => setSelectedCategory(e.target.value)}
            >
              <option value="all">All Categories</option>
              <option value="consumer">Consumer Protection</option>
              <option value="privacy">Privacy & Technology</option>
              <option value="education">Education</option>
              <option value="healthcare">Healthcare</option>
              <option value="environment">Environment</option>
            </select>
            <Button>
              <Filter className="h-4 w-4 mr-2" />
              Advanced Search
            </Button>
          </div>
        </Card>

        <div className="grid md:grid-cols-2 gap-6">
          {nonprofits.map((org, idx) => (
            <Card key={idx} className="p-6">
              <div className="flex justify-between items-start mb-4">
                <div>
                  <h3 className="text-xl font-bold">{org.name}</h3>
                  <div className="flex items-center gap-2 mt-1 text-sm text-gray-600">
                    <MapPin className="h-4 w-4" />
                    {org.location}
                  </div>
                </div>
                <Badge>{org.category}</Badge>
              </div>
              
              <div className="grid grid-cols-2 gap-4 mb-4">
                <div>
                  <p className="text-sm text-gray-500">Cy Pres Experience</p>
                  <p className="font-medium">{org.cypresExperience}</p>
                </div>
                <div>
                  <p className="text-sm text-gray-500">Total Received</p>
                  <p className="font-medium text-green-600">{org.amount}</p>
                </div>
              </div>

              <div className="mb-4">
                <p className="text-sm text-gray-500 mb-2">Focus Areas:</p>
                <div className="flex flex-wrap gap-2">
                  {org.focus.map((area, i) => (
                    <Badge key={i} variant="secondary" className="text-xs">
                      {area}
                    </Badge>
                  ))}
                </div>
              </div>

              <div className="flex gap-2">
                <Button variant="outline" size="sm" className="flex-1">View Profile</Button>
                <Button size="sm" className="flex-1">Contact</Button>
              </div>
            </Card>
          ))}
        </div>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/post-intake/page.tsx',
    content: `'use client'

import { useState } from 'react'
import { Card } from '@/components/ui/card'
import { Button } from '@/components/ui/button'
import { FileText, DollarSign, Calendar, Users } from 'lucide-react'

export default function PostIntakePage() {
  const [formData, setFormData] = useState({
    caseName: '',
    court: '',
    caseNumber: '',
    settlementAmount: '',
    estimatedCypres: '',
    deadline: '',
    description: '',
    eligibleOrgs: '',
    lawFirm: '',
    contactName: '',
    contactEmail: '',
    contactPhone: ''
  })

  const handleSubmit = (e: React.FormEvent) => {
    e.preventDefault()
    // Send to steve@designerwallcoverings.com
    const recipient = 'steve@' + 'designerwallcoverings.com'
    console.log('Sending intake to:', recipient)
    alert('Cy pres opportunity posted successfully. We will review and publish within 24 hours.')
  }

  return (
    <div className="min-h-screen bg-gray-50 py-12">
      <div className="max-w-4xl mx-auto px-4">
        <div className="text-center mb-12">
          <h1 className="text-4xl font-bold mb-4">Post a Cy Pres Opportunity</h1>
          <p className="text-xl text-gray-600">Connect with qualified nonprofits for your settlement distribution</p>
        </div>

        <Card className="p-8">
          <h2 className="text-2xl font-bold mb-6">Settlement Information</h2>
          
          <form onSubmit={handleSubmit} className="space-y-6">
            <div className="grid md:grid-cols-2 gap-4">
              <div>
                <label className="block text-sm font-medium mb-2">Case Name *</label>
                <input
                  type="text"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.caseName}
                  onChange={(e) => setFormData({...formData, caseName: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Court *</label>
                <input
                  type="text"
                  required
                  placeholder="e.g., N.D. Cal."
                  className="w-full p-2 border rounded-md"
                  value={formData.court}
                  onChange={(e) => setFormData({...formData, court: e.target.value})}
                />
              </div>
            </div>

            <div className="grid md:grid-cols-3 gap-4">
              <div>
                <label className="block text-sm font-medium mb-2">Case Number</label>
                <input
                  type="text"
                  className="w-full p-2 border rounded-md"
                  value={formData.caseNumber}
                  onChange={(e) => setFormData({...formData, caseNumber: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Total Settlement</label>
                <input
                  type="text"
                  placeholder="$0"
                  className="w-full p-2 border rounded-md"
                  value={formData.settlementAmount}
                  onChange={(e) => setFormData({...formData, settlementAmount: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Est. Cy Pres Amount *</label>
                <input
                  type="text"
                  required
                  placeholder="$0"
                  className="w-full p-2 border rounded-md"
                  value={formData.estimatedCypres}
                  onChange={(e) => setFormData({...formData, estimatedCypres: e.target.value})}
                />
              </div>
            </div>

            <div>
              <label className="block text-sm font-medium mb-2">Application Deadline *</label>
              <input
                type="date"
                required
                className="w-full p-2 border rounded-md"
                value={formData.deadline}
                onChange={(e) => setFormData({...formData, deadline: e.target.value})}
              />
            </div>

            <div>
              <label className="block text-sm font-medium mb-2">Settlement Description *</label>
              <textarea
                required
                rows={4}
                className="w-full p-2 border rounded-md"
                value={formData.description}
                onChange={(e) => setFormData({...formData, description: e.target.value})}
                placeholder="Describe the nature of the settlement and claims..."
              />
            </div>

            <div>
              <label className="block text-sm font-medium mb-2">Eligible Organization Types *</label>
              <textarea
                required
                rows={3}
                className="w-full p-2 border rounded-md"
                value={formData.eligibleOrgs}
                onChange={(e) => setFormData({...formData, eligibleOrgs: e.target.value})}
                placeholder="Describe the types of nonprofits that would be eligible..."
              />
            </div>

            <h3 className="text-lg font-semibold">Contact Information</h3>
            
            <div className="grid md:grid-cols-2 gap-4">
              <div>
                <label className="block text-sm font-medium mb-2">Law Firm *</label>
                <input
                  type="text"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.lawFirm}
                  onChange={(e) => setFormData({...formData, lawFirm: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Contact Name *</label>
                <input
                  type="text"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.contactName}
                  onChange={(e) => setFormData({...formData, contactName: e.target.value})}
                />
              </div>
            </div>

            <div className="grid md:grid-cols-2 gap-4">
              <div>
                <label className="block text-sm font-medium mb-2">Email *</label>
                <input
                  type="email"
                  required
                  className="w-full p-2 border rounded-md"
                  value={formData.contactEmail}
                  onChange={(e) => setFormData({...formData, contactEmail: e.target.value})}
                />
              </div>
              <div>
                <label className="block text-sm font-medium mb-2">Phone</label>
                <input
                  type="tel"
                  className="w-full p-2 border rounded-md"
                  value={formData.contactPhone}
                  onChange={(e) => setFormData({...formData, contactPhone: e.target.value})}
                />
              </div>
            </div>

            <Button type="submit" className="w-full">Post Opportunity</Button>
          </form>
        </Card>
      </div>
    </div>
  )
}`
  },
  {
    path: 'app/best-practices/page.tsx',
    content: `'use client'

import { Card } from '@/components/ui/card'
import { CheckCircle, XCircle, AlertCircle, Lightbulb } from 'lucide-react'

export default function BestPracticesPage() {
  return (
    <div className="min-h-screen bg-gray-50 py-12">
      <div className="max-w-6xl mx-auto px-4">
        <div className="text-center mb-12">
          <h1 className="text-4xl font-bold mb-4">Cy Pres Best Practices</h1>
          <p className="text-xl text-gray-600">Guidelines for successful cy pres distributions</p>
        </div>

        <div className="grid md:grid-cols-2 gap-8">
          <Card className="p-6">
            <div className="flex items-center mb-4">
              <CheckCircle className="h-6 w-6 text-green-500 mr-2" />
              <h2 className="text-xl font-bold">Do's</h2>
            </div>
            <ul className="space-y-3 text-gray-700">
              <li>✓ Ensure clear nexus between nonprofit mission and class interests</li>
              <li>✓ Document all distributions thoroughly</li>
              <li>✓ Select geographically appropriate recipients</li>
              <li>✓ Consider multiple smaller awards vs. single large award</li>
              <li>✓ Verify 501(c)(3) status and good standing</li>
              <li>✓ Request detailed use proposals from recipients</li>
              <li>✓ Establish clear reporting requirements</li>
              <li>✓ Maintain transparency throughout process</li>
            </ul>
          </Card>

          <Card className="p-6">
            <div className="flex items-center mb-4">
              <XCircle className="h-6 w-6 text-red-500 mr-2" />
              <h2 className="text-xl font-bold">Don'ts</h2>
            </div>
            <ul className="space-y-3 text-gray-700">
              <li>✗ Don't select recipients with conflicts of interest</li>
              <li>✗ Don't ignore geographic distribution requirements</li>
              <li>✗ Don't bypass court approval processes</li>
              <li>✗ Don't select organizations without relevant expertise</li>
              <li>✗ Don't distribute to organizations with poor financial health</li>
              <li>✗ Don't forget to monitor fund usage</li>
              <li>✗ Don't rush the selection process</li>
              <li>✗ Don't overlook smaller, local organizations</li>
            </ul>
          </Card>

          <Card className="p-6">
            <div className="flex items-center mb-4">
              <AlertCircle className="h-6 w-6 text-orange-500 mr-2" />
              <h2 className="text-xl font-bold">Common Pitfalls</h2>
            </div>
            <ul className="space-y-3 text-gray-700">
              <li>• Insufficient documentation of selection criteria</li>
              <li>• Failure to verify nonprofit capabilities</li>
              <li>• Inadequate monitoring of fund usage</li>
              <li>• Selecting recipients before court approval</li>
              <li>• Ignoring class member geographic distribution</li>
              <li>• Lack of transparency in selection process</li>
            </ul>
          </Card>

          <Card className="p-6">
            <div className="flex items-center mb-4">
              <Lightbulb className="h-6 w-6 text-yellow-500 mr-2" />
              <h2 className="text-xl font-bold">Pro Tips</h2>
            </div>
            <ul className="space-y-3 text-gray-700">
              <li>• Start recipient identification early in settlement process</li>
              <li>• Create standardized evaluation criteria</li>
              <li>• Consider using independent evaluators</li>
              <li>• Build relationships with nonprofit networks</li>
              <li>• Maintain database of qualified recipients</li>
              <li>• Request references from previous cy pres awards</li>
            </ul>
          </Card>
        </div>

        <Card className="mt-8 p-8 bg-blue-50">
          <h2 className="text-2xl font-bold mb-4">Need Expert Guidance?</h2>
          <p className="text-gray-700 mb-4">
            Our team has facilitated over $100M in cy pres distributions. Let us help ensure your distribution meets all legal requirements and maximizes impact.
          </p>
          <a href="/contact" className="text-blue-600 hover:underline font-medium">
            Schedule a consultation →
          </a>
        </Card>
      </div>
    </div>
  )
}`
  }
];

// Create each page
pages.forEach(page => {
  const fullPath = path.join('/root/cypressaward/frontend', page.path);
  const dir = path.dirname(fullPath);
  
  // Create directory if it doesn't exist
  if (!fs.existsSync(dir)) {
    fs.mkdirSync(dir, { recursive: true });
  }
  
  // Write the file
  fs.writeFileSync(fullPath, page.content);
  console.log(`✅ Created: ${page.path}`);
});

console.log('\n✨ All pages created successfully!');
console.log('📧 Contact forms configured to send to: steve@designerwallcoverings.com (hidden from users)');