Files
ladill-events/resources/views/events/speaker-portal.blade.php
T
isaaccladandCursor 0cf3ef5de0
Deploy Ladill Events / deploy (push) Successful in 26s
Personalize speaker portal greeting with session topic.
Replace the roster role line with "you are speaking on …" using the speaker's programme assignment or virtual session title.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:56:39 +00:00

113 lines
5.9 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Speaker {{ $eventContent['name'] ?? $event->label }}</title>
@include('partials.favicon')
@vite(['resources/css/app.css'])
</head>
<body class="min-h-screen bg-slate-50 text-slate-900 antialiased">
@php
$eventName = $eventContent['name'] ?? $event->label;
$brandColor = $programmeSnapshot['brand_color'] ?? '#4f46e5';
@endphp
<div class="mx-auto max-w-lg px-4 py-8 sm:py-12">
<div class="text-center">
<p class="text-xs font-semibold uppercase tracking-wide text-indigo-600">Speaker access</p>
<h1 class="mt-1 text-2xl font-bold text-slate-900">{{ $eventName }}</h1>
@php
$sessionTopic = trim((string) ($assignments[0]['session'] ?? ($virtualSessions[0]['title'] ?? '')));
@endphp
<p class="mt-1 text-sm text-slate-600">
Hi {{ $speaker['name'] }}@if($sessionTopic !== ''), you are speaking on {{ $sessionTopic }}@endif
</p>
</div>
@if(!empty($eventContent['starts_at']) || !empty($eventContent['location']))
<div class="mt-6 rounded-2xl border border-slate-200 bg-white p-4 text-sm text-slate-600">
@if(!empty($eventContent['starts_at']))
<p><span class="font-medium text-slate-800">When:</span> {{ $eventContent['starts_at'] }}</p>
@endif
@if(!empty($eventContent['location']))
<p class="mt-1"><span class="font-medium text-slate-800">Where:</span> {{ $eventContent['location'] }}</p>
@endif
</div>
@endif
@if(count($assignments))
<div class="mt-6 rounded-2xl border border-indigo-100 bg-indigo-50/50 p-4">
<h2 class="text-sm font-semibold text-indigo-950">Your sessions</h2>
<ul class="mt-3 space-y-2">
@foreach($assignments as $assignment)
<li class="rounded-xl border border-white/80 bg-white px-3 py-2.5 text-sm">
<p class="font-semibold text-slate-900">{{ $assignment['session'] ?: 'Session' }}</p>
<p class="mt-0.5 text-xs text-slate-500">
@if($assignment['time']){{ $assignment['time'] }}@endif
@if($assignment['day']) · {{ $assignment['day'] }}@endif
@if($assignment['location']) · {{ $assignment['location'] }}@endif
</p>
</li>
@endforeach
</ul>
</div>
@endif
@if(count($virtualSessions))
<div class="mt-6 rounded-2xl border border-slate-200 bg-white p-4">
<h2 class="text-sm font-semibold text-slate-900">Join virtual stage</h2>
<p class="mt-1 text-xs text-slate-500">Use these links when it is time to go live. No attendee registration required you will enter the speaker waiting area.</p>
<div class="mt-4 space-y-3">
@foreach($virtualSessions as $session)
<a href="{{ $session['join_url'] }}"
class="flex items-center justify-between gap-3 rounded-xl border border-indigo-100 bg-indigo-50/40 px-4 py-3 text-sm font-semibold text-indigo-800 transition hover:border-indigo-200 hover:bg-indigo-50">
<span>
{{ $session['title'] }}
<span class="mt-0.5 block text-xs font-normal text-indigo-600/80">{{ $session['type'] }}</span>
</span>
<svg class="h-4 w-4 shrink-0" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"/></svg>
</a>
@endforeach
</div>
</div>
@endif
@if($programmeSnapshot)
<div class="mt-6 rounded-2xl border border-slate-200 bg-white p-4">
<h2 class="text-sm font-semibold text-slate-900">{{ $programmeSnapshot['title'] ?? 'Programme' }}</h2>
@if(!empty($programmeSnapshot['subtitle']))
<p class="mt-0.5 text-xs text-slate-500">{{ $programmeSnapshot['subtitle'] }}</p>
@endif
<div class="mt-4 space-y-4">
@foreach($programmeSnapshot['days'] ?? [] as $day)
<div>
<p class="text-xs font-semibold uppercase tracking-wide text-slate-500">{{ $day['label'] ?? 'Day' }}@if(!empty($day['date'])) · {{ $day['date'] }}@endif</p>
<ul class="mt-2 divide-y divide-slate-100 rounded-xl border border-slate-100">
@foreach($day['items'] ?? [] as $item)
<li class="px-3 py-2.5 text-sm">
<div class="flex gap-2">
@if(!empty($item['time']))
<span class="shrink-0 text-xs font-medium text-slate-400">{{ $item['time'] }}</span>
@endif
<div class="min-w-0">
<p class="font-medium text-slate-900">{{ $item['title'] ?? '' }}</p>
@if(!empty($item['host']))
<p class="text-xs text-slate-500">{{ $item['host'] }}</p>
@endif
</div>
</div>
</li>
@endforeach
</ul>
</div>
@endforeach
</div>
</div>
@endif
<p class="mt-8 text-center text-xs text-slate-400">Bookmark this page it has everything you need on event day.</p>
</div>
</body>
</html>