{{ __('Dashboard Undangan') }}

{{-- ALERTS --}} @if(session('success')) @endif @if($errors->any()) @endif {{-- ── TUTORIAL NOTIF & MODAL ────────────────────────── --}}
{{-- Banner kecil di atas (collapsible) --}}
🎓

Pertama kali di sini? Baru

Pelajari cara mengelola undangan digital Anda dalam 2 menit — edit data, custom warna, upload foto, kelola tamu, dan share link.

{{-- Floating Help Button (selalu ada) --}} {{-- Modal Tutorial --}}

Tutorial · Step dari

Tips:

{{-- HEADER WELCOME --}}

Halo, {{ Auth::user()->name }}! 👋

Selamat datang kembali di dashboard Anda

@if(isset($invitation)) @else
Belum memiliki undangan aktif
@endif
@if(isset($invitation)) Lihat Undangan Edit Undangan @else Buat Undangan Baru @endif
{{-- INFO CARD: Countdown + Detail Undangan --}} @if(isset($invitation) && $invitation->event_date) @php $eventDate = \Carbon\Carbon::parse($invitation->event_date); $daysLeft = now()->startOfDay()->diffInDays($eventDate->startOfDay(), false); $groomName = $invitation->content['mempelai']['pria']['nama'] ?? null; $brideName = $invitation->content['mempelai']['wanita']['nama'] ?? null; $resepsiTime = $invitation->content['acara']['resepsi']['waktu'] ?? null; $resepsiPlace = $invitation->content['acara']['resepsi']['tempat'] ?? null; @endphp
{{-- Countdown --}}
⏳ Hitung Mundur
@if($daysLeft > 0)
{{ $daysLeft }}
hari lagi menuju hari H
@elseif($daysLeft == 0)
🎉 Hari H!
Selamat atas hari istimewamu!
@else
{{ abs($daysLeft) }} hari lalu
Semoga momennya indah!
@endif
{{ $eventDate->translatedFormat('d F Y') }}
{{-- Info Mempelai --}}
💍 Mempelai
@if($groomName || $brideName)
@if($groomName)
{{ substr($groomName,0,1) }}
{{ $groomName }}
@endif @if($groomName && $brideName)
&
@endif @if($brideName)
{{ substr($brideName,0,1) }}
{{ $brideName }}
@endif
@else

Data mempelai belum diisi. Lengkapi →

@endif
{{-- Info Acara --}}
📍 Lokasi Resepsi
@if($resepsiPlace)

{{ $resepsiPlace }}

@if($resepsiTime)

{{ \Carbon\Carbon::parse($resepsiTime)->translatedFormat('d F Y, H:i') }} WIB

@endif @else

Lokasi belum diisi. Lengkapi →

@endif
{{ $invitation->status === 'active' ? 'Undangan Aktif' : ucfirst($invitation->status) }}
@endif {{-- STAT CARDS with Progress Bars --}} @php $tamuCol = collect($guests ?? []); $total = $tamuCol->count(); $hadir = $tamuCol->where('rsvp_status','hadir')->count(); $tidakHadir = $tamuCol->whereIn('rsvp_status',['tidak_hadir','ragu'])->count(); $pending = $tamuCol->whereIn('rsvp_status',['pending',null])->count(); @endphp
@foreach([ ['Total Tamu','👥',$total,100,'indigo'], ['Akan Hadir','✅',$hadir,$total > 0 ? round($hadir/$total*100) : 0,'green'], ['Tidak Hadir','❌',$tidakHadir,$total > 0 ? round($tidakHadir/$total*100) : 0,'red'], ['Belum Respon','⏳',$pending,$total > 0 ? round($pending/$total*100) : 0,'yellow'], ] as [$label,$icon,$val,$pct,$col])
{{ $icon }} {{ $pct }}%
{{ $val }}
{{ $label }}
@endforeach
{{-- MAIN GRID --}}
{{-- LEFT: Forms --}}
{{-- Form Tambah Tamu --}}

Tambah Tamu

Input manual per tamu

@csrf
+62
{{-- Form Import Excel --}}

Import Excel

Upload file .xlsx / .csv

@csrf

Klik untuk upload

.xlsx, .xls, .csv (Max 2MB)

Download Template Excel @if(isset($invitation) && count($guests ?? []) > 0) Export Daftar Hadir (CSV) @endif
{{-- RIGHT: Guest Table --}}
{{-- Table Header + Search --}}

Daftar Tamu

{{ count($guests ?? []) }} tamu

{{-- Search --}}
{{-- Filter RSVP --}}
@if(isset($invitation) && count($guests ?? []) > 0)
@foreach($guests as $guest) @endforeach
Tamu WhatsApp RSVP Aksi
{{ substr($guest->name,0,1) }}

{{ $guest->name }}

{{ $guest->category == 'VIP' ? '⭐ ' : '' }}{{ $guest->category ?? 'Umum' }}
@if($guest->whatsapp) {{ $guest->whatsapp }} @else - @endif @if($guest->rsvp_status == 'hadir') Hadir @elseif(in_array($guest->rsvp_status, ['tidak_hadir','ragu'])) {{ $guest->rsvp_status == 'tidak_hadir' ? 'Tidak Hadir' : 'Ragu' }} @else Pending @endif
{{-- Copy Link --}} {{-- Kirim WA (fixed URL encoding) --}} @php $pPria = $invitation->content['mempelai']['pria']['panggilan'] ?? 'Mempelai Pria'; $pWanita = $invitation->content['mempelai']['wanita']['panggilan'] ?? 'Mempelai Wanita'; $pesanWa = "Assalamu'alaikum Warahmatullahi Wabarakatuh / Selamat Sejahtera,\n\n" . "Kepada Yth. *{$guest->name}*,\n\n" . "Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i untuk hadir dan memberikan doa restu pada acara pernikahan kami:\n\n" . "👰🤵 *{$pPria} & {$pWanita}*\n\n" . "Informasi lengkap mengenai jadwal, lokasi, dan konfirmasi kehadiran (RSVP) dapat dilihat melalui tautan undangan digital berikut ini:\n\n" . route('invitation.show', ['slug'=>$invitation->slug,'to'=>$guest->slug]) . "\n\n" . "Merupakan suatu kehormatan dan kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir di hari istimewa kami.\n\n" . "Terima kasih,\n" . "Wassalamu'alaikum Warahmatullahi Wabarakatuh."; $waText = urlencode($pesanWa); @endphp {{-- Lihat Undangan --}} {{-- Hapus Tamu --}}
name) }}\"?')"> @csrf @method('DELETE')
@else

Belum Ada Data Tamu

Tambahkan tamu via upload Excel atau input manual di kiri

@endif
{{-- ═══ WELCOME MODAL (tampil sekali saja) ═══ --}} @if(isset($invitation)) @endif