@php $bride = $invitation->bride ?? [ 'name' => 'Citra Maharani, S.Ds', 'nickname' => 'Citra', 'father' => 'Bapak Surya Wijaya', 'mother' => 'Ibu Ratna Dewi', 'parents' => 'Bapak Surya Wijaya & Ibu Ratna Dewi', 'instagram' => '@citra.maharani', 'photo' => 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=700&q=85', ]; $groom = $invitation->groom ?? [ 'name' => 'Adit Pratama, S.T', 'nickname' => 'Adit', 'father' => 'Bapak Indra Gunawan', 'mother' => 'Ibu Sri Rahayu', 'parents' => 'Bapak Indra Gunawan & Ibu Sri Rahayu', 'instagram' => '@adit.pratama', 'photo' => 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?auto=format&fit=crop&w=700&q=85', ]; $events = $invitation->events ?? [ [ 'title' => 'Akad Nikah', 'date' => '2026-12-20', 'start_time' => '08.00', 'end_time' => '10.00', 'timezone' => 'WIB', 'venue' => 'The Champagne Garden', 'address' => 'Jl. Contoh Bahagia No. 20, Jakarta', 'maps_url' => 'https://maps.google.com/?q=Jakarta', ], [ 'title' => 'Resepsi', 'date' => '2026-12-20', 'start_time' => '11.00', 'end_time' => '14.00', 'timezone' => 'WIB', 'venue' => 'The Champagne Garden', 'address' => 'Jl. Contoh Bahagia No. 20, Jakarta', 'maps_url' => 'https://maps.google.com/?q=Jakarta', ], ]; $primaryEvent = $events[0] ?? null; $eventDate = $primaryEvent['date'] ?? '2026-12-20'; $carbonDate = \Carbon\Carbon::parse($eventDate); $formattedDate = $carbonDate->locale('id')->isoFormat('dddd, D MMMM Y'); $stories = $invitation->stories ?? [ [ 'year' => '2019', 'title' => 'Sebuah pertemuan', 'story' => 'Kami berkenalan tanpa rencana istimewa. Namun, percakapan kecil hari itu menjadi awal dari cerita yang terus kami syukuri.', 'image' => 'https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=700&q=85' ], [ 'year' => '2022', 'title' => 'Belajar memilih satu sama lain', 'story' => 'Hari demi hari mengajarkan kami arti mendengar, bertumbuh, dan menemukan rumah dalam diri satu sama lain.', 'image' => 'https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?auto=format&fit=crop&w=700&q=85' ], [ 'year' => '2026', 'title' => 'Menuju selamanya', 'story' => 'Dengan restu keluarga dan hati yang mantap, kami memilih untuk menulis bab berikutnya bersama.', 'image' => 'https://images.unsplash.com/photo-1523438885200-e635ba2c371e?auto=format&fit=crop&w=700&q=85' ], ]; $galleryPhotos = $invitation->gallery_photos ?? [ 'https://images.unsplash.com/photo-1537633552985-df8429e8048b?auto=format&fit=crop&w=900&q=85', 'https://images.unsplash.com/photo-1529636798458-92182e662485?auto=format&fit=crop&w=700&q=85', 'https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=700&q=85', 'https://images.unsplash.com/photo-1465495976277-4387d4b0e4a6?auto=format&fit=crop&w=700&q=85', 'https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=700&q=85', ]; $rawBankAccounts = !empty($invitation->bank_accounts) ? $invitation->bank_accounts : (!empty($invitation->gifts) ? $invitation->gifts : null); $gifts = !empty($rawBankAccounts) ? $rawBankAccounts : [ [ 'bank_name' => 'BCA', 'account_number' => '1234 5678 90', 'account_holder' => 'Citra Maharani', ], [ 'bank_name' => 'Bank Mandiri', 'account_number' => '9876 5432 10', 'account_holder' => 'Adit Pratama', ], ]; $hasGifts = !empty($gifts) || !empty($invitation->qris_image_url) || !empty($invitation->qris_image); $wishes = $invitation->wishes ?? [ (object)[ 'name' => 'Keluarga Besar Pratama & Maharani', 'attendance' => 'hadir', 'message' => 'Selamat menempuh hidup baru untuk Adit & Citra! Semoga sakinah, mawaddah, warahmah serta senantiasa dalam limpahan berkah.', '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 ?? 'exclusive15') : (!empty($invitation->slug) ? route('invitation.live', $invitation->slug) : '#'); if ($guestName ?? null) { $liveUrl .= (str_contains($liveUrl, '?') ? '&' : '?') . 'to=' . urlencode($guestName); } $audioUrl = $invitation->audio_url ?? asset('templates/vip/exclusive15/music/wedding-song.mp3'); $rsvpAction = !empty($invitation->slug) ? route('invitation.wish', $invitation->slug) : '#'; @endphp {{ $groom['nickname'] ?? 'Adit' }} & {{ $bride['nickname'] ?? 'Citra' }} — Janoer Koening @include('templates.partials.preview-banner')
JANOER KOENINGWEDDING INVITATION

THE WEDDING OF

{{ $groom['nickname'] ?? 'Adit' }}&{{ $bride['nickname'] ?? 'Citra' }}

{{ $formattedDate }}

✦
@if($guestName ?? null)

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

@endif

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

SCROLL TO DISCOVER
@if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('countdown') || $invitation->isSectionVisible('quote'))
@if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('quote'))

A PROMISE OF FOREVER

Two hearts, one beautiful story.

“{{ $invitation->quote ?? 'Dan di antara tanda-tanda kekuasaan-Nya ialah Dia menciptakan untukmu pasangan hidup dari jenismu sendiri, supaya kamu merasa tenteram kepadanya.' }}”

— {{ $invitation->quote_author ?? 'QS. Ar-Rum: 21' }} —

@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('countdown'))
00HARI
00JAM
00MENIT
00DETIK

Menghitung hari menuju awal selamanya

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

THE PEOPLE WE BECOME

Meet the couple

Dua perjalanan, satu tujuan, dan cinta yang memilih untuk pulang.

THE GROOM

{{ $groom['name'] ?? 'Adit Pratama' }}

Putra dari {{ $groom['parents'] ?? (($groom['father'] ?? 'Bapak Indra') . ' dan ' . ($groom['mother'] ?? 'Ibu Sri')) }}

@if(!empty($groom['instagram'])) {{ $groom['instagram'] }} @endif
{{ substr($groom['nickname'] ?? 'A', 0, 1) }} ♥ {{ substr($bride['nickname'] ?? 'C', 0, 1) }}

THE BRIDE

{{ $bride['name'] ?? 'Citra Maharani' }}

Putri dari {{ $bride['parents'] ?? (($bride['father'] ?? 'Bapak Surya') . ' dan ' . ($bride['mother'] ?? 'Ibu Ratna')) }}

@if(!empty($bride['instagram'])) {{ $bride['instagram'] }} @endif
@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('event'))

SAVE THE DATE

Celebrate with us

Kami berharap kehadiran Anda untuk merayakan hari istimewa ini.

@foreach($events as $idx => $ev)
{{ str_pad($idx + 1, 2, '0', STR_PAD_LEFT) }}

{{ $ev['title'] }}

{{ \Carbon\Carbon::parse($ev['date'] ?? '2026-12-20')->locale('id')->isoFormat('dddd, D MMMM Y') }}
{{ $ev['start_time'] ?? '08.00' }} – {{ $ev['end_time'] ?? '10.00' }} {{ $ev['timezone'] ?? 'WIB' }}

@endforeach
{{ strtoupper($events[0]['venue'] ?? 'THE CHAMPAGNE GARDEN') }} {{ $events[0]['address'] ?? 'Jl. Contoh Bahagia No. 20, Jakarta' }}
Lihat Lokasi ↗ @php $ev0 = $events[0]; $ev0Date = \Carbon\Carbon::parse($ev0['date'] ?? '2026-12-20'); $ev0CalLink = 'https://calendar.google.com/calendar/render?action=TEMPLATE&text=' . urlencode(($ev0['title'] ?? 'Acara') . ' ' . ($bride['nickname'] ?? '') . ' & ' . ($groom['nickname'] ?? '')) . '&dates=' . $ev0Date->format('Ymd') . 'T010000Z/' . $ev0Date->format('Ymd') . 'T070000Z&location=' . urlencode(($ev0['venue'] ?? '') . ', ' . ($ev0['address'] ?? '')); @endphp + Kalender ↗
@endif @if((!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('story')) && !empty($stories) && count($stories) > 0)

A LITTLE BIT OF MAGIC

Our love story

Hal-hal indah sering dimulai dari momen yang sederhana.

@foreach($stories as $sIdx => $s)
{{ str_pad($sIdx + 1, 2, '0', STR_PAD_LEFT) }}
{{ $s['year'] }}

{{ $s['title'] }}

{{ $s['story'] }}

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

SHARING THE LOVE

Wedding gift

Doa dan restu Anda adalah hadiah terindah. Namun jika ingin memberikan tanda kasih secara digital, Anda dapat menggunakan rekening berikut:

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

WE HOPE YOU CAN MAKE IT

RSVP & wishes

Bantu kami mempersiapkan hari istimewa ini dengan konfirmasi kehadiran Anda.

@if(session('wish_success'))
{{ session('wish_success') }}
@endif @if(session('wish_error'))
{{ session('wish_error') }}
@endif
@csrf

Terima kasih telah berbagi doa dan sukacita bersama kami.

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

{{ $w->message }}

@endforeach
@endif

THANK YOU

Until we celebrate

Merupakan kehormatan bagi kami apabila Anda berkenan hadir dan memberikan doa restu di hari bahagia kami.

{{ $groom['nickname'] ?? 'Adit' }} & {{ $bride['nickname'] ?? 'Citra' }}

@if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('streaming')) Lihat Siaran Langsung (Live Streaming) ↗ @endif
Nomor rekening berhasil disalin.