@php $bride = $invitation->bride ?? [ 'name' => 'Clarissa Anindya, S.Ked', 'nickname' => 'Clarissa', 'parents' => 'Bapak Ir. Hendra Kusuma & Ibu Dewi Anggraini', 'photo' => $invitation->bride_photo_url ?? ($invitation->bride_photo ?? asset('templates/vip/exclusive13/images/bride.jpg')), 'instagram' => $invitation->bride_instagram ?? '@clarissaanindya', ]; $groom = $invitation->groom ?? [ 'name' => 'Aditya Pratama, M.B.A', 'nickname' => 'Aditya', 'parents' => 'Bapak Bambang Soediro & Ibu Rina Kartika', 'photo' => $invitation->groom_photo_url ?? ($invitation->groom_photo ?? asset('templates/vip/exclusive13/images/groom.jpg')), 'instagram' => $invitation->groom_instagram ?? '@adityapratama', ]; $coverPhoto = $invitation->cover_photo ?? ($invitation->hero_photo_url ?? asset('templates/vip/exclusive13/images/cover.jpg')); $events = $invitation->events ?? [ [ 'title' => 'Akad Nikah', 'date' => '2026-12-20', 'start_time' => '08:00', 'end_time' => '10:00', 'timezone' => 'WIB', 'venue' => 'Masjid Raya Al-Mukarram', 'address' => 'Gedung Serbaguna Melati, Jakarta', 'maps_url' => 'https://maps.google.com', ], [ 'title' => 'Resepsi Pernikahan', 'date' => '2026-12-20', 'start_time' => '11:00', 'end_time' => '14:00', 'timezone' => 'WIB', 'venue' => 'Grand Melati Ballroom', 'address' => 'Gedung Serbaguna Melati, Jakarta', 'maps_url' => 'https://maps.google.com', ], ]; $primaryEvent = $events[0] ?? null; $eventDate = $primaryEvent['date'] ?? '2026-12-20'; $eventTime = $primaryEvent['start_time'] ?? '08:00'; $carbonDate = \Carbon\Carbon::parse($eventDate); $formattedDate = $carbonDate->locale('id')->isoFormat('dddd · D · MMMM · Y'); $galleries = $invitation->gallery ?? ($invitation->gallery_photos ?? [ asset('templates/vip/exclusive13/images/gallery-01.jpg'), asset('templates/vip/exclusive13/images/gallery-02.jpg'), asset('templates/vip/exclusive13/images/gallery-03.jpg'), asset('templates/vip/exclusive13/images/gallery-04.jpg'), asset('templates/vip/exclusive13/images/gallery-05.jpg'), asset('templates/vip/exclusive13/images/gallery-06.jpg'), ]); $rawBankAccounts = !empty($invitation->bank_accounts) ? $invitation->bank_accounts : (!empty($invitation->gifts) ? $invitation->gifts : null); if (empty($rawBankAccounts) && !empty($invitation->bank_name)) { $rawBankAccounts = [ [ 'bank_name' => $invitation->bank_name, 'bank' => $invitation->bank_name, 'account_number' => $invitation->bank_account ?? '', 'number' => $invitation->bank_account ?? '', 'account_holder' => $invitation->bank_holder ?? 'Mempelai', 'name' => $invitation->bank_holder ?? 'Mempelai', ] ]; } $gifts = !empty($rawBankAccounts) ? $rawBankAccounts : [ [ 'bank_name' => 'Bank BCA', 'bank' => 'Bank BCA', 'account_number' => '1234567890', 'number' => '1234567890', 'account_holder' => 'Aditya Pratama', 'name' => 'Aditya Pratama', ], [ 'bank_name' => 'Bank Mandiri', 'bank' => 'Bank Mandiri', 'account_number' => '9876543210', 'number' => '9876543210', 'account_holder' => 'Clarissa Anindya', 'name' => 'Clarissa Anindya', ], ]; $hasGifts = !empty($gifts) || !empty($invitation->qris_image_url) || !empty($invitation->qris_image); $stories = $invitation->stories ?? [ [ 'year' => '2018', 'title' => 'Pertemuan Pertama', 'story' => 'Sebuah pertemuan sederhana membuka lembar pertama kisah kami.', ], [ 'year' => '2020', 'title' => 'Saling Mengenal', 'story' => 'Kami belajar memahami, saling menguatkan, dan tumbuh bersama.', ], [ 'year' => '2024', 'title' => 'Sebuah Janji (Lamaran)', 'story' => 'Dengan keyakinan dan doa restu kedua keluarga, kami memutuskan melangkah bersama.', ], [ 'year' => '2026', 'title' => 'Selamanya Dimulai', 'story' => 'Dua cerita menjadi satu perjalanan menuju masa depan dalam ikatan pernikahan suci.', ], ]; $defaultQuoteText = 'Dan di antara tanda-tanda kekuasaan-Nya ialah Dia menciptakan untukmu pasangan hidup dari jenismu sendiri, supaya kamu mendapat ketenangan hati dan dijadikan-Nya kasih sayang di antara kamu.'; $defaultQuoteSource = 'QS. Ar-Rum : 21'; $quoteText = !empty($invitation->quote) ? $invitation->quote : $defaultQuoteText; $quoteSource = !empty($invitation->quote_author) ? $invitation->quote_author : $defaultQuoteSource; $wishes = $invitation->wishes ?? [ (object)[ 'name' => 'Keluarga Besar Soediro & Kusuma', 'attendance' => 'Hadir', 'message' => 'Selamat menempuh hidup baru untuk Aditya & Clarissa! Semoga menjadi keluarga yang sakinah, mawaddah, dan warahmah.', 'created_at' => now()->subHours(2), ], ]; $isDemoMode = request()->routeIs('template.demo*') || request()->is('demo/*') || !empty($invitation->is_demo); $liveUrl = $isDemoMode ? route('template.demo.live', $template->slug ?? 'exclusive13') : (!empty($invitation->slug) ? route('invitation.live', $invitation->slug) : '#'); if ($guestName ?? null) { $liveUrl .= (str_contains($liveUrl, '?') ? '&' : '?') . 'to=' . urlencode($guestName); } $audioUrl = !empty($invitation->audio_url) ? $invitation->audio_url : asset('templates/vip/exclusive13/music/wedding-song.mp3'); @endphp Undangan Pernikahan | {{ $bride['nickname'] ?? 'Clarissa' }} & {{ $groom['nickname'] ?? 'Aditya' }} @include('templates.partials.preview-banner')

THE WEDDING CELEBRATION OF

{{ substr($groom['nickname'] ?? 'A', 0, 1) }} & {{ substr($bride['nickname'] ?? 'C', 0, 1) }}
Foto mempelai
{{ $groom['nickname'] ?? 'Aditya' }} & {{ $bride['nickname'] ?? 'Clarissa' }}

{{ $formattedDate }}

Kepada Yth.
{{ $guestName ?? 'Bapak/Ibu/Saudara/i' }}

Janoer Koening

@if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('countdown'))

SAVE THE MOMENT

Menuju Hari Bahagia

Dengan penuh rasa syukur, kami mengundang Anda menjadi bagian dari hari istimewa kami.

00Hari
00Jam
00Menit
00Detik
@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('quote'))
❦

وَمِنْ آيَاتِهِ أَنْ خَلَقَ لَكُم مِّنْ أَنفُسِكُمْ أَزْوَاجًا لِّتَسْكُنُوا إِلَيْهَا وَجَعَلَ بَيْنَكُم مَّوَدَّةً وَرَحْمَةً

“{{ $quoteText }}”

{{ $quoteSource }}
@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('couple'))

THE BRIDE & GROOM

Dua Hati, Satu Janji

&
@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('event'))

SAVE THE DATE

Hari Istimewa Kami

@foreach($events as $idx => $ev) @php $evCarbon = !empty($ev['date']) ? \Carbon\Carbon::parse($ev['date']) : $carbonDate; @endphp
{{ strtoupper($ev['title'] ?? 'ACARA') }}

{{ $evCarbon->locale('id')->isoFormat('dddd, D MMMM Y') }}

{{ $ev['start_time'] ?? '08.00' }} – {{ $ev['end_time'] ?? 'Selesai' }} {{ $ev['timezone'] ?? 'WIB' }}

{{ $ev['venue'] ?? '' }}
{{ $ev['address'] ?? '' }}

@php $calLink = 'https://calendar.google.com/calendar/render?action=TEMPLATE&text=' . urlencode(($ev['title'] ?? 'Acara') . ' ' . ($bride['nickname'] ?? '') . ' & ' . ($groom['nickname'] ?? '')) . '&dates=' . $evCarbon->format('Ymd') . 'T010000Z/' . $evCarbon->format('Ymd') . 'T070000Z&location=' . urlencode(($ev['venue'] ?? '') . ', ' . ($ev['address'] ?? '')); @endphp
@if(!empty($ev['maps_url'])) Petunjuk Lokasi ↗ @endif + Kalender ↗
@endforeach
@endif @if((!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('story')) && !empty($stories) && count($stories) > 0)

OUR LOVE STORY

Kisah yang Kami Rajut

@foreach($stories as $st)

{{ $st['title'] ?? 'Kisah Cinta' }}

{{ $st['story'] ?? ($st['description'] ?? '') }}

@endforeach
@endif @if((!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('gallery')) && !empty($galleries) && count($galleries) > 0) @endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('streaming'))

JOIN US FROM ANYWHERE

Saksikan Secara Live

● LIVE STREAMING
{{ substr($groom['nickname'] ?? 'A', 0, 1) }} & {{ substr($bride['nickname'] ?? 'C', 0, 1) }}

{{ $groom['nickname'] ?? 'Aditya' }} & {{ $bride['nickname'] ?? 'Clarissa' }}

{{ $carbonDate->locale('id')->isoFormat('D MMMM Y') }} · {{ $eventTime }} WIB

Buka Live Streaming
@endif @if((!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('gift')) && $hasGifts)

A GIFT FROM THE HEART

Tanda Kasih

Doa dan kehadiran Anda adalah hadiah terindah. Jika berkenan memberi tanda kasih:

@endif @if((!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('wishes')) && ($invitation->is_rsvp_active ?? true))

LEAVE YOUR WISHES

RSVP & Ucapan

@if(session('wish_success'))
{{ session('wish_success') }}
@endif @if(session('wish_error'))
{{ session('wish_error') }}
@endif
@csrf
@foreach($wishes as $w)
{{ $w->name }} · {{ ucfirst($w->attendance ?? 'Hadir') }} {{ $w->message }}
@endforeach
@endif
@if(!empty($audioUrl)) @endif