@php $bride = $invitation->bride ?? [ 'name' => 'Camille Raveena, S.Ds', 'nickname' => 'Camille', 'parents' => 'Bapak Reynold Hartanto & Ibu Melinda Sutanto', 'photo' => $invitation->bride_photo_url ?? ($invitation->bride_photo ?? 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=600&q=80'), 'instagram' => $invitation->bride_instagram ?? '@camilleraveena', ]; $groom = $invitation->groom ?? [ 'name' => 'Damian Aldric, S.E', 'nickname' => 'Damian', 'parents' => 'Bapak Aldrin Kusuma & Ibu Stella Marlina', 'photo' => $invitation->groom_photo_url ?? ($invitation->groom_photo ?? 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=600&q=80'), 'instagram' => $invitation->groom_instagram ?? '@damianaldric', ]; $coverPhoto = $invitation->cover_photo ?? ($invitation->hero_photo_url ?? 'https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=800&q=80'); $events = $invitation->events ?? [ [ 'title' => 'Akad Nikah', 'date' => '2026-12-20', 'start_time' => '08:00', 'end_time' => '10:00', 'timezone' => 'WIB', 'venue' => 'Masjid Agung Al-Falah', 'address' => 'Jl. Raya Darmo No. 100, Surabaya', 'maps_url' => 'https://maps.google.com', ], [ 'title' => 'Resepsi Velvet Luxe', 'date' => '2026-12-20', 'start_time' => '11:00', 'end_time' => '14:00', 'timezone' => 'WIB', 'venue' => 'The Diamond Rose Ballroom', 'address' => 'Jl. Mayjen Sungkono No. 89, Surabaya', '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 ?? [ 'https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=600&q=80', 'https://images.unsplash.com/photo-1583939003579-730e3918a45a?auto=format&fit=crop&w=600&q=80', 'https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=600&q=80', 'https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=600&q=80', 'https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=600&q=80', 'https://images.unsplash.com/photo-1465495976277-4387d4b0b4c6?auto=format&fit=crop&w=600&q=80', ]); $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' => '1234 5678 90', 'number' => '1234 5678 90', 'account_holder' => 'Camille Raveena', 'name' => 'Camille Raveena', ], [ 'bank_name' => 'Bank Mandiri', 'bank' => 'Bank Mandiri', 'account_number' => '9876 5432 10', 'number' => '9876 5432 10', 'account_holder' => 'Damian Aldric', 'name' => 'Damian Aldric', ], ]; $hasGifts = !empty($gifts) || !empty($invitation->qris_image_url) || !empty($invitation->qris_image); $stories = $invitation->stories ?? [ [ 'year' => '2019', 'title' => 'Pertemuan Pertama', 'story' => 'Sebuah perjumpaan tak terduga yang menjadi lembar awal kisah perjalanan cinta kami berdua.', ], [ 'year' => '2021', 'title' => 'Tumbuh Bersama', 'story' => 'Saling melengkapi dalam suka dan duka, menyatukan tujuan, dan mempererat komitmen kasih.', ], [ 'year' => '2025', 'title' => 'Momen Lamaran', 'story' => 'Di hadapan kedua keluarga besar tercinta, Damian melamar Camille dalam suasana penuh syukur.', ], [ 'year' => '2026', 'title' => 'Ikrar Suci', 'story' => 'Dengan penuh kebahagiaan, kami melangkah menuju jenjang pernikahan dan memohon berkah doa restu Anda.', ], ]; $defaultQuoteText = 'Dan di antara tanda-tanda kekuasaan-Nya ialah Dia menciptakan untukmu pasangan-pasangan dari jenismu sendiri, supaya kamu merasa tenteram kepadanya, dan dijadikan-Nya di antaramu rasa kasih dan sayang.'; $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 Kusuma & Hartanto', 'attendance' => 'Hadir', 'message' => 'Selamat menempuh hidup baru untuk Camille & Damian. Semoga selalu dilimpahi keberkahan dan kebahagiaan abadi.', '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 ?? 'exclusive10') : (!empty($invitation->slug) ? route('invitation.live', $invitation->slug) : '#'); if ($guestName ?? null) { $liveUrl .= (str_contains($liveUrl, '?') ? '&' : '?') . 'to=' . urlencode($guestName); } @endphp Undangan Pernikahan | {{ $bride['nickname'] ?? 'Camille' }} & {{ $groom['nickname'] ?? 'Damian' }} @include('templates.partials.preview-banner')
Save The Date {{ $carbonDate->format('d · m · Y') }}
{{ substr($bride['nickname'] ?? 'C', 0, 1) }}&{{ substr($groom['nickname'] ?? 'D', 0, 1) }}

The Wedding Of

Foto Mempelai

{{ $bride['nickname'] ?? 'Camille' }}&{{ $groom['nickname'] ?? 'Damian' }}

Kepada Yth. {{ $guestName ?? 'Bapak/Ibu/Saudara/i' }} Mohon maaf apabila ada kesalahan penulisan nama dan gelar
Save The Date {{ $carbonDate->format('d · m · Y') }}
{{ substr($bride['nickname'] ?? 'C', 0, 1) }}&{{ substr($groom['nickname'] ?? 'D', 0, 1) }}

The Wedding Of

Foto Mempelai

{{ $bride['nickname'] ?? 'Camille' }}&{{ $groom['nickname'] ?? 'Damian' }}

Kepada Yth. {{ $guestName ?? 'Bapak/Ibu/Saudara/i' }} Mohon maaf apabila ada kesalahan penulisan nama dan gelar
Menuju Acara
@if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('countdown'))

Save The Date

Menghitung Hari

00Hari
00Jam
00Menit
00Detik

{{ $formattedDate }}

@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('quote'))
“

Assalamu'alaikum Warahmatullahi Wabarakatuh

{{ $quoteText }}

{{ $quoteSource }}

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

Bismillahirrahmanirrahim

Sang Mempelai

{{ $bride['name'] }}

{{ $bride['name'] }}

Mempelai Wanita

{{ $bride['parents'] }}

@if(!empty($bride['instagram']))

{{ $bride['instagram'] }}

@endif
{{ $groom['name'] }}

{{ $groom['name'] }}

Mempelai Pria

{{ $groom['parents'] }}

@if(!empty($groom['instagram']))

{{ $groom['instagram'] }}

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

Rangkaian Acara

Jadwal Acara

@foreach($events as $idx => $ev) @php $evCarbon = !empty($ev['date']) ? \Carbon\Carbon::parse($ev['date']) : $carbonDate; $dayName = $evCarbon->locale('id')->isoFormat('dddd'); @endphp

Admit Two · No. {{ sprintf('%03d', $idx + 1) }}

{{ $ev['title'] ?? 'Acara' }}

{{ $ev['start_time'] ?? '08:00' }} – {{ $ev['end_time'] ?? 'Selesai' }} {{ $ev['timezone'] ?? 'WIB' }}

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

{{ $evCarbon->format('d') }} {{ $evCarbon->locale('id')->isoFormat('MMM Y') }} {{ $dayName }}
@endforeach
@if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('streaming'))

Live Streaming Eksklusif

Saksikan siaran langsung sakral pernikahan kami secara online.

Tonton Live
@endif
@endif @if((!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('story')) && !empty($stories) && count($stories) > 0)

Our Story

Kisah Cinta

@foreach($stories as $st)
{{ $st['year'] ?? '' }}

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

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

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

Moments

Galeri Foto

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

Wedding Gift

Tanda Kasih

Doa restu Anda adalah hadiah terindah bagi kami. Bila berkenan memberi tanda kasih, dapat melalui:

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

Konfirmasi

RSVP & Ucapan

@csrf
Kehadiran
@foreach($wishes as $w)
{{ $w->name }} {{ ucfirst($w->attendance ?? 'Hadir') }}

{{ $w->message }}

@endforeach
@endif
Tersalin ✓
@if(!empty($invitation->audio_url)) @endif