Programme sync to Meet rooms, wallet-billed mass comms, webhook lifecycle updates, and registration access bridge with join-window gating on public pages. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -713,20 +713,36 @@
|
||||
|
||||
@php
|
||||
$evFormat = $content['format'] ?? 'in_person';
|
||||
$evVirtualSessions = collect($content['virtual_sessions'] ?? [])->filter(fn ($s) => is_array($s) && ! empty($s['join_url']));
|
||||
$meetAccess = app(\App\Services\Meet\EventMeetAccessService::class);
|
||||
$evVirtualSessions = collect($content['virtual_sessions'] ?? [])
|
||||
->filter(fn ($s) => is_array($s) && ! empty($s['join_url']));
|
||||
@endphp
|
||||
@if(in_array($evFormat, ['virtual', 'hybrid'], true) && $evVirtualSessions->isNotEmpty())
|
||||
<div class="mt-6 space-y-3">
|
||||
<h2 class="text-center text-sm font-bold text-slate-900">Virtual sessions</h2>
|
||||
@foreach($evVirtualSessions as $session)
|
||||
@php $windowOpen = $meetAccess->isJoinWindowOpen($session); @endphp
|
||||
@if($windowOpen)
|
||||
<a href="{{ $session['join_url'] }}" target="_blank" rel="noopener"
|
||||
class="block rounded-2xl border border-indigo-100 bg-white px-4 py-3 shadow-sm transition hover:border-indigo-300">
|
||||
<p class="font-semibold text-slate-900">{{ $session['title'] ?? 'Join session' }}</p>
|
||||
@if(!empty($session['scheduled_at']))
|
||||
<p class="mt-1 text-xs text-slate-500">{{ \App\Support\Qr\QrDateFormatter::forDisplay($session['scheduled_at']) }}</p>
|
||||
@endif
|
||||
@if(($session['meet_status'] ?? '') === 'live')
|
||||
<p class="mt-1 text-xs font-semibold text-emerald-600">Live now</p>
|
||||
@endif
|
||||
<p class="mt-2 text-xs font-semibold text-indigo-600">Join virtual session →</p>
|
||||
</a>
|
||||
@else
|
||||
<div class="block rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3">
|
||||
<p class="font-semibold text-slate-700">{{ $session['title'] ?? 'Virtual session' }}</p>
|
||||
@if(!empty($session['scheduled_at']))
|
||||
<p class="mt-1 text-xs text-slate-500">{{ \App\Support\Qr\QrDateFormatter::forDisplay($session['scheduled_at']) }}</p>
|
||||
@endif
|
||||
<p class="mt-2 text-xs text-amber-700">Join opens 15 minutes before the session starts.</p>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
Reference in New Issue
Block a user