@php $images = $event->allPublishedImages(); $eventFirstImage = $event->firstImage(); $heroImages = $images->isNotEmpty() ? $images : collect(array_filter([$eventFirstImage])); $ogImage = $eventFirstImage ? $eventFirstImage->thumbnail(1200, 630) : asset('images/hero.png'); $leadBand = $event->bands->first(); $gigTitle = $leadBand ? $leadBand->name . ($event->event_date ? ' (' . $event->event_date->format('jS M Y') . ')' : '') : ($event->name ?? 'Live Gig'); $cleanDesc = trim(strip_tags($event->description ?? '')); if (!empty($cleanDesc)) { $seoDescription = \Illuminate\Support\Str::limit($cleanDesc, 155); } else { $bandNames = $event->bands->pluck('name')->join(', '); $venueName = $event->venue->name ?? 'Fibbers, York'; $dateStr = $event->event_date ? $event->event_date->format('l jS F Y') : 'Date TBA'; $seoDescription = "Live gig archive: " . ($bandNames ?: 'Live artists') . " performing at {$venueName} on {$dateStr}. View gig details, lineups, and photo archive."; } $eventSchema = [ '@context' => 'https://schema.org', '@type' => 'MusicEvent', 'name' => ($leadBand ? $leadBand->name . ' live at ' . ($event->venue->name ?? 'Fibbers') : ($event->name ?? 'Live Gig')), 'startDate' => $event->event_date ? $event->event_date->toDateString() : null, 'location' => [ '@type' => 'MusicVenue', 'name' => $event->venue->name ?? 'Fibbers', 'address' => [ '@type' => 'PostalAddress', 'addressLocality' => 'York', 'addressCountry' => 'GB', ], ], 'url' => route('gigs.show', $event), ]; if ($eventFirstImage) { $eventSchema['image'] = $ogImage; } if ($event->bands->isNotEmpty()) { $eventSchema['performer'] = $event->bands->map(fn($b) => [ '@type' => 'MusicGroup', 'name' => $b->name, 'url' => route('bands.show', $b), ])->values()->all(); } @endphp
@if($heroImages->isEmpty())
@endif
@if($event->event_date)
@if($prevEvent ?? null) @else @endif {{ $event->event_date->format('D j M Y') }} @if($nextEvent ?? null) @else @endif
@endif

{{ $event->bands->first()->name ?? $event->name }}

{{ $event->venue->name ?? 'Venue Unknown' }}

@guest Were you at this gig? Click here. @else @if($event->hasAttendee(auth()->user()))
You were at this gig
@csrf @method('DELETE')
@else
@csrf
@endif @endguest
@if($event->bands->count() > 0) @php $rotations = ['rotate-1', '-rotate-1', 'rotate-[1.5deg]', '-rotate-[1.5deg]']; @endphp

The Lineup

@php $supportAngles = ['rotate-2', '-rotate-2', 'rotate-3', '-rotate-1']; @endphp
@foreach($event->bands as $index => $band) @php $isHeadliner = ($index === 0); $badgeAngle = $isHeadliner ? '-rotate-3' : $supportAngles[($index - 1) % count($supportAngles)]; @endphp
@if($isHeadliner)
Headline
@else
Support
@endif
@if($image = $band->firstImage()) {{ $image->altText($band->name) }} @else
@endif

{{ $band->name }}

@endforeach
@endif @if ($event->description)

The Gig details

{!! nl2br(e($event->description)) !!}
@endif @if($images->count() > 0)
@endif @if($event->attendees->isNotEmpty()) @php $attendeeShapes = [ [ 'rot' => '-rotate-1', 'polygon' => '1,2 99,0 98,39 2,40', ], [ 'rot' => 'rotate-1', 'polygon' => '2,0 99,3 97,40 2,37', ], [ 'rot' => '-rotate-2', 'polygon' => '1,3 98,1 100,38 3,40', ], [ 'rot' => 'rotate-2', 'polygon' => '2,1 98,3 99,38 1,40', ], ]; @endphp

In the crowd

{{ $event->attendees->count() }}
@foreach($event->attendees as $index => $attendee) @php $shape = $attendeeShapes[$index % count($attendeeShapes)]; $isCurrentUser = auth()->check() && auth()->id() === $attendee->id; @endphp @if($isCurrentUser) {{ $attendee->first_name }} {{ $attendee->last_name }} @else {{ $attendee->first_name }} {{ $attendee->last_name }} @endif @endforeach
@endif @if(isset($moreGigs) && $moreGigs->isNotEmpty())
Live Archives

{{ $moreGigsTitle ?? 'More Gigs In The Vault' }}

@if(!empty($moreGigsYear)) Explore more memorable live nights, support sets, and lineups from {{ $moreGigsYear }}. @else Explore more memorable live nights, support sets, and lineups from the Fibbers archives. @endif

View {{ !empty($moreGigsYear) ? $moreGigsYear . ' Gigs' : 'All Gigs' }}
@include('partials.random-gig-cards', ['randomGigs' => $moreGigs, 'startIndex' => 0])
@endif