Skip to content

fix: resolve FE-143, FE-144, FE-152, FE-153 (#271 #272 #273 #274)#343

Merged
BigBen-7 merged 1 commit into
Lead-Studios:mainfrom
Userhorlie:fix/issues-271-272-273-274
May 29, 2026
Merged

fix: resolve FE-143, FE-144, FE-152, FE-153 (#271 #272 #273 #274)#343
BigBen-7 merged 1 commit into
Lead-Studios:mainfrom
Userhorlie:fix/issues-271-272-273-274

Conversation

@Userhorlie
Copy link
Copy Markdown

Summary

Resolves all four open issues assigned to me in a single commit.


Closes #274 — FE-153: Image optimisation for event cover photos

  • Replaced raw <img> with AppImage (wraps next/image) for performer photos in the event details page
  • Added width={64}, height={64}, and sizes="64px" props for correct optimisation

Closes #273 — FE-152: Lazy-load below-the-fold sections on the landing page

  • Extracted footer into src/components/landing/LandingFooter.tsx
  • Created src/components/landing/LandingTestimonials.tsx (new testimonials section)
  • Both loaded via next/dynamic({ ssr: false }) with animate-pulse skeleton placeholders
  • Removed inline footer and NewsletterForm import from page.tsx

Closes #272 — FE-144: Bulk check-in upload for offline verification

  • Added Upload CSV button to src/features/verification/page.tsx
  • Client-side CSV parsing (one ticket code per row, strips quotes/whitespace)
  • Validates file type before submission; rejects empty files with an error
  • Sends each code to POST /api/tickets/check-in in parallel
  • Displays a results summary: ✓ N succeeded / ✗ N failed with per-row error details

Closes #271 — FE-143: Tests for ticket check-in and verification utilities

  • Added src/__tests__/ticketCheckInVerification.test.ts with 13 tests
    • markTicketUsed: success, already-used (409), network error
    • isTicketUsed: returns true, returns false, non-ok response
    • verifyTicket: valid token, expired token, revoked token, service unavailable
    • checkInTicket: success, already-used, server error
  • All 13 tests pass (npm test)

Testing

npm test src/__tests__/ticketCheckInVerification.test.ts
# 13 passed

, Lead-Studios#274

- Lead-Studios#274: Replace raw <img> with AppImage for performer photos in event
  details page (width/height/sizes props set)
- Lead-Studios#273: Lazy-load LandingTestimonials and LandingFooter via next/dynamic
  (ssr:false) with skeleton placeholders; remove inline footer from page.tsx
- Lead-Studios#272: Add bulk CSV check-in upload to verification page — client-side
  CSV parse, parallel POST to /api/tickets/check-in, succeeded/failed summary
- Lead-Studios#271: Add 13 unit tests for ticketCheckIn and ticketVerification
  (happy path, already-used, network error, expired, revoked, unavailable)
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 28, 2026

@Userhorlie Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@BigBen-7 BigBen-7 merged commit 03c9476 into Lead-Studios:main May 29, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants