@php function sjImg($p,$fb='https://images.unsplash.com/photo-1519741497674-611481863552?w=800&fit=crop'){ if(!$p||str_contains($p,'placeholder'))return $fb; return \Illuminate\Support\Str::startsWith($p,'http')?$p:asset($p); } $pria =$invitation->content['mempelai']['pria'] ??[]; $wanita =$invitation->content['mempelai']['wanita']??[]; $akad =$invitation->content['acara']['akad'] ??[]; $resepsi=$invitation->content['acara']['resepsi'] ??[]; $amplop =$invitation->content['amplop'] ??[]; $gallery=$invitation->content['media']['gallery'] ??[ 'https://images.unsplash.com/photo-1519741497674-611481863552?w=800&fit=crop', 'https://images.unsplash.com/photo-1469334031218-e382a71b716b?w=400&fit=crop', 'https://images.unsplash.com/photo-1519046904884-53103b34b206?w=400&fit=crop', 'https://images.unsplash.com/photo-1515934751635-c81c6bc9a2d8?w=400&fit=crop', 'https://images.unsplash.com/photo-1606800052052-a08af7148866?w=400&fit=crop', ]; $stories=$invitation->content['love_stories']??[ ['year'=>'Suatu Hari','title'=>'Pertemuan','story'=>'Di antara keramaian, satu tatapan mengubah segalanya. Sebuah awal yang sederhana, menjadi cerita yang tak terlupakan.'], ['year'=>'Berselang Waktu','title'=>'Mendekat','story'=>'Dari obrolan singkat ke pertemuan yang lebih sering, kami perlahan menyadari ada yang istimewa di antara kami.'], ['year'=>'Memantapkan Hati','title'=>'Lamaran','story'=>'Dengan segenap keberanian dan cinta yang menggenapi, ia bertanya — dan jawaban satu kata itu mengubah segalanya.'], ]; $target=\Carbon\Carbon::parse($akad['waktu']??now()->addDays(90)); $sections=[ ['id'=>'s-home','label'=>'Beranda'], ['id'=>'s-couple','label'=>'Mempelai'], ['id'=>'s-story','label'=>'Kisah'], ['id'=>'s-acara','label'=>'Acara'], ['id'=>'s-galeri','label'=>'Galeri'], ['id'=>'s-gift','label'=>'Hadiah & RSVP'], ]; @endphp
1 / {{ count($sections) }}
{{-- ═══ KELOPAK GATE ═══ --}}
{{-- Complex Floral Ornament --}}
@for($i=0; $i<8; $i++) @endfor @for($i=0; $i<8; $i++) @endfor

{{ $pria['panggilan'] ?? 'Aryo' }} & {{ $wanita['panggilan'] ?? 'Kirana' }}

Sekar Jagad · Undangan Pernikahan

@if(isset($guest))
Kepada Yth.
{{ $guest->name }}

@endif
{{-- ═══ TOP NAV ═══ --}} {{-- ═══ SNAP SCROLL CONTAINER ═══ --}}
{{-- HOME --}}

✦ Selamat Datang ✦

{{ $pria['panggilan'] ?? 'Aryo' }} & {{ $wanita['panggilan'] ?? 'Kirana' }}

{{ $target->translatedFormat('d · F · Y') }}

--Hari
--Jam
--Menit
--Detik

"{{ $invitation->content['quote'] ?? 'Dan di antara tanda-tanda kekuasaan-Nya ialah Dia menciptakan untukmu istri-istri dari jenismu sendiri, supaya kamu cenderung dan merasa tenteram kepadanya.' }}"

{{-- COUPLE --}}

Mempelai Pria

{{ $pria['nama'] ?? 'Aryo Wicaksono, S.T.' }}

Putra dari
Bp. {{ $pria['ayah'] ?? '...' }}
& Ibu {{ $pria['ibu'] ?? '...' }}

@if(!empty($pria['instagram']))✦ @{{ $pria['instagram'] }}@endif

Mempelai Wanita

{{ $wanita['nama'] ?? 'Kirana Sari, S.Pd.' }}

Putri dari
Bp. {{ $wanita['ayah'] ?? '...' }}
& Ibu {{ $wanita['ibu'] ?? '...' }}

@if(!empty($wanita['instagram']))♡ @{{ $wanita['instagram'] }}@endif
{{-- STORY — alternating bands --}}
@foreach($stories as $i => $s) @if(!empty($s['title']))
{{ str_pad($i+1,2,'0',STR_PAD_LEFT) }}

{{ $s['year'] ?? '' }}

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

{{ $s['story'] ?? '' }}

@if($loop->last)

← Cerita kami ↑

@else

↓ Selanjutnya

@endif
@endif @endforeach
{{-- ACARA — 3D FLIP --}}

✦ Momen Sakral ✦

Acara Pernikahan

⟳   Ketuk kartu untuk membalik

{{-- FRONT: AKAD --}}
· Akad Nikah ·
{{ $akad['judul'] ?? 'Ijab Kabul' }}
📅{{ \Carbon\Carbon::parse($akad['waktu'] ?? now())->translatedFormat('l, d F Y') }}
🕐Pukul {{ \Carbon\Carbon::parse($akad['waktu'] ?? now())->format('H:i') }} WIB
📍{{ $akad['tempat'] ?? 'Pendopo Kediaman' }}@if(!empty($akad['alamat']))
{{ $akad['alamat'] }}@endif
@php $akadW = $invitation->content['acara']['akad']['wilayah'] ?? []; $akadL1 = collect([!empty($akadW['village']) ? 'Kel. '.Str::title(strtolower($akadW['village'])) : null, !empty($akadW['district']) ? 'Kec. '.Str::title(strtolower($akadW['district'])) : null])->filter()->implode(', '); $akadL2 = collect([!empty($akadW['regency']) ? Str::title(strtolower($akadW['regency'])) : null, !empty($akadW['province']) ? Str::title(strtolower($akadW['province'])) : null])->filter()->implode(', '); @endphp @if($akadL1)
{{ $akadL1 }}
@endif @if($akadL2)
{{ $akadL2 }}
@endif @if(!empty($akad['maps']))🗺 Peta Lokasi@endif
{{-- BACK: RESEPSI --}}
· Resepsi Pernikahan ·
{{ $resepsi['judul'] ?? 'Walimatul Ursy' }}
📅{{ \Carbon\Carbon::parse($resepsi['waktu'] ?? now())->translatedFormat('l, d F Y') }}
🕐Pukul {{ \Carbon\Carbon::parse($resepsi['waktu'] ?? now())->format('H:i') }} WIB
📍{{ $resepsi['tempat'] ?? 'Gedung Pertemuan' }}@if(!empty($resepsi['alamat']))
{{ $resepsi['alamat'] }}@endif
@php $resepsiW = $invitation->content['acara']['resepsi']['wilayah'] ?? []; $resepsiL1 = collect([!empty($resepsiW['village']) ? 'Kel. '.Str::title(strtolower($resepsiW['village'])) : null, !empty($resepsiW['district']) ? 'Kec. '.Str::title(strtolower($resepsiW['district'])) : null])->filter()->implode(', '); $resepsiL2 = collect([!empty($resepsiW['regency']) ? Str::title(strtolower($resepsiW['regency'])) : null, !empty($resepsiW['province']) ? Str::title(strtolower($resepsiW['province'])) : null])->filter()->implode(', '); @endphp @if($resepsiL1)
{{ $resepsiL1 }}
@endif @if($resepsiL2)
{{ $resepsiL2 }}
@endif @if(!empty($resepsi['maps']))🗺 Peta Lokasi@endif
Dresscode: Dusty Rose & Navy
{{-- GALLERY — CSS masonry --}}

✦ Potret Kasih ✦

Galeri

@foreach($gallery as $foto)
@endforeach
{{-- GIFT + RSVP — envelope --}}

✦ Hadiah & Ucapan ✦

Amplop & RSVP

@if(!empty($amplop['bank_name']))

💌 Ketuk amplop untuk membuka

💌

✦ {{ $amplop['bank_name'] }} ✦

{{ $amplop['account_number'] ?? '000 000 0000' }}

a/n {{ $amplop['account_holder'] ?? 'Nama Penerima' }}

@if(isset($amplop['qris_image']))

Atau Scan QRIS Berikut:

QRIS
@endif
@endif
@if(session('success'))
{{ session('success') }}
@endif
@csrf
@if($invitation->comments->count() > 0)

✦ Ucapan Tamu

@foreach($invitation->comments->sortByDesc('created_at')->take(8) as $c)
{{ substr($c->name??$c->nama??'?',0,1) }}
{{ $c->name??$c->nama }} {{ $c->created_at->diffForHumans() }}

"{{ $c->comment??$c->ucapan }}"

@endforeach
@endif