{{-- Protected Event details — reachable ONLY after OTP + eligibility. PRIVACY CONTRACT (PLT-EVENTS-001 §13). This page renders exactly one investor's own view. It must never show: other investors · eligible audience counts · the internal Groups the event targets · attendance-management controls · admin notes · audit information · internal statuses · anyone else's phone, email or state. Only `$investor`'s OWN confirmation state is shown, and `admin_status` is deliberately NOT rendered — it is an internal verdict, not investor-facing. Mirrors web.demo-attendance.portal for layout and the `.cmt-att-*` surface. --}} @extends('web.signup.layout') @section('title', $event->title) @section('page_title', __('web.event_attendance.details_title')) @section('page_subtitle', '') @section('body_class', 'has-sticky-logo') @php // Formatted ONCE here, in business time. The model stores UTC; every // investor-facing timestamp on this page is Asia/Riyadh so nobody has to // convert in their head. $tz = \App\Support\Time\BookingsTimezone::business(); $startAt = $event->starts_at?->copy()->setTimezone($tz); $endAt = $event->ends_at?->copy()->setTimezone($tz); $sameDay = $startAt && $endAt && $startAt->isSameDay($endAt); $isOnline = $event->event_type === 'online'; $confirmed = $attendance?->confirmed_at !== null; @endphp @push('styles') @endpush @section('content')
{{ __('web.event_attendance.greeting', [ 'name' => $investor->first_name ?: ($investor->full_name_en ?: ($investor->full_name_ar ?: $investor->name)), ]) }}
@if (filled($event->description)){{ __('web.event_attendance.confirmed_title') }}
{{ __('web.event_attendance.confirmed_body') }}