Add ticket system with QR scanner and PDF generation
- Add ticket validation and check-in API endpoints - Add PDF ticket generation with QR codes (pdfkit) - Add admin QR scanner page with camera support - Add admin site settings page - Update email templates with PDF ticket download link - Add checked_in_by_admin_id field for audit tracking - Update booking success page with ticket download - Various UI improvements to events and booking pages
This commit is contained in:
@@ -31,13 +31,9 @@ export default function Footer() {
|
||||
className="h-10 w-auto"
|
||||
/>
|
||||
</Link>
|
||||
<p className="mt-3 text-gray-600 max-w-md">
|
||||
<p className="mt-3 max-w-md" style={{ color: '#002F44' }}>
|
||||
{t('footer.tagline')}
|
||||
</p>
|
||||
{/* Local SEO text */}
|
||||
<p className="mt-2 text-sm text-gray-500">
|
||||
Language Exchange Events in Asunción, Paraguay
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Quick Links */}
|
||||
@@ -84,7 +80,7 @@ export default function Footer() {
|
||||
{/* Social */}
|
||||
{socialLinks.length > 0 && (
|
||||
<div>
|
||||
<h3 className="font-semibold text-primary-dark mb-4">
|
||||
<h3 className="font-semibold mb-4" style={{ color: '#002F44' }}>
|
||||
{t('footer.social')}
|
||||
</h3>
|
||||
<div className="flex flex-wrap gap-3">
|
||||
@@ -112,13 +108,14 @@ export default function Footer() {
|
||||
<Link
|
||||
key={link.slug}
|
||||
href={`/legal/${link.slug}`}
|
||||
className="text-gray-500 hover:text-primary-dark transition-colors text-sm"
|
||||
className="hover:opacity-70 transition-colors text-sm"
|
||||
style={{ color: '#002F44' }}
|
||||
>
|
||||
{locale === 'es' ? link.es : link.en}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
<div className="text-center text-gray-500 text-sm">
|
||||
<div className="text-center text-sm" style={{ color: '#002F44' }}>
|
||||
{t('footer.copyright', { year: currentYear })}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user