@php $bride = $invitation->bride ?? [ 'name' => 'Laras Ayu Wulandari', 'nickname' => 'Laras', 'parents' => 'Bapak Hartono & Ibu Sulastri', 'photo' => 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=600&q=80', 'instagram' => '@larasayu', ]; $groom = $invitation->groom ?? [ 'name' => 'Arya Bagaskara', 'nickname' => 'Arya', 'parents' => 'Bapak Wijaya & Ibu Kartika', 'photo' => 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=600&q=80', 'instagram' => '@aryabagas', ]; $coverPhoto = $invitation->cover_photo ?? '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 Al-Ikhlas', 'address' => 'Jl. Melati No. 12, Tangerang', 'maps_url' => 'https://maps.google.com', ], [ 'title' => 'Resepsi Pernikahan', 'date' => '2026-12-20', 'start_time' => '11:00', 'end_time' => '14:00', 'timezone' => 'WIB', 'venue' => 'Rumah Kayu Garden', 'address' => 'Jl. Anggrek No. 5, Tangerang', '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 ?? [ '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', 'https://images.unsplash.com/photo-1520854221256-17451cc331bf?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' => '1234567890', 'number' => '1234567890', 'account_holder' => 'Laras Ayu Wulandari', 'name' => 'Laras Ayu Wulandari', ], [ 'bank_name' => 'Bank Mandiri', 'bank' => 'Bank Mandiri', 'account_number' => '9876543210', 'number' => '9876543210', 'account_holder' => 'Arya Bagaskara', 'name' => 'Arya Bagaskara', ], ]; $hasGifts = !empty($gifts) || !empty($invitation->qris_image_url) || !empty($invitation->qris_image); $stories = $invitation->stories ?? [ [ 'year' => '2019', 'title' => 'Pertama Bertemu', 'story' => 'Kami bertemu di sebuah acara kampus. Awalnya hanya saling sapa, tanpa tahu cerita ini baru dimulai.', ], [ 'year' => '2021', 'title' => 'Mulai Dekat', 'story' => 'Obrolan demi obrolan membuat kami saling mengerti, dan perlahan tumbuh rasa nyaman.', ], [ 'year' => '2025', 'title' => 'Lamaran', 'story' => 'Dengan restu kedua keluarga, Arya melamar Laras dalam suasana sederhana yang penuh haru.', ], [ 'year' => '2026', 'title' => 'Hari Bahagia', 'story' => 'Dengan niat tulus, kami melangkah ke jenjang pernikahan dan memohon 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' => 'Dimas & Anisa', 'attendance' => 'hadir', 'message' => 'Selamat untuk Laras dan Arya! Semoga menjadi keluarga yang sakinah, mawaddah, warahmah.', 'created_at' => now()->subHours(3), ], (object)[ 'name' => 'Keluarga Besar Hartono', 'attendance' => 'hadir', 'message' => 'Barakallahu lakuma wa baraka alaika wa jamaa bainakuma fii khoir. Lancar sampai hari H!', 'created_at' => now()->subDay(), ] ]; @endphp Undangan Pernikahan | {{ $bride['nickname'] ?? 'Laras' }} & {{ $groom['nickname'] ?? 'Arya' }} @include('templates.partials.preview-banner') @if(isset($isPreview) && $isPreview)
Mode Pratinjau Desain (Preview Mode)
@endif

The Wedding Celebration of

{{ $bride['nickname'] }} & {{ $groom['nickname'] }}

{{ $bride['nickname'] }} & {{ $groom['nickname'] }}

{{ $formattedDate }}

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

We're Getting Married

{{ $bride['nickname'] }} & {{ $groom['nickname'] }}

{{ $bride['nickname'] }} & {{ $groom['nickname'] }}

{{ $formattedDate }}

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

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

Save The Date

Menghitung Hari

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

Assalamu'alaikum Warahmatullahi Wabarakatuh

“{!! nl2br(e($quoteText)) !!}”

— {{ $quoteSource }}

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

Maha Suci Allah SWT

Kedua Mempelai

{{ $bride['name'] }}

{{ $bride['name'] }}

Mempelai Wanita

Putri tercinta dari:
{{ $bride['parents'] ?? 'Bapak Hartono & Ibu Sulastri' }}

&
{{ $groom['name'] }}

{{ $groom['name'] }}

Mempelai Pria

Putra tercinta dari:
{{ $groom['parents'] ?? 'Bapak Wijaya & Ibu Kartika' }}

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

Rangkaian Acara

Waktu & Tempat

@foreach($events as $event)

{{ $event['title'] }}

{{ \Carbon\Carbon::parse($event['date'])->locale('id')->isoFormat('dddd, D MMMM Y') }}

{{ $event['start_time'] ?? '08:00' }} - {{ $event['end_time'] ?? 'Selesai' }} {{ $event['timezone'] ?? 'WIB' }}

{{ $event['venue'] }}
{{ $event['address'] }}

@if(!empty($event['maps_url']))
Petunjuk Arah
@endif
@endforeach
@endif @if(!method_exists($invitation, 'isSectionVisible') || $invitation->isSectionVisible('story')) @if(!empty($stories) && count($stories) > 0)

Our Journey

Kisah Cinta Kami

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

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

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

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

Wedding Gift

Tanda Kasih

Doa restu Anda merupakan karunia terindah bagi kami. Namun jika berkenan memberikan tanda kasih secara digital, silakan klik tombol di bawah ini:

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

RSVP & Doa

Buku Tamu & Kehadiran

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

{{ $w->message }}

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