Notifikasi
@forelse($notifikasi ?? [] as $n)
{{-- ✅ Mapping tipe notifikasi ke icon & style yang sudah ada --}}
@php
switch($n->tipe) {
case 'pemesanan':
case 'transaksi':
$icon = 'fa-shopping-cart';
$iconClass = 'mail';
break;
case 'dokumen':
case 'verifikasi':
$icon = 'fa-file-check';
$iconClass = 'info';
break;
case 'peringatan':
case 'tagihan':
$icon = 'fa-exclamation-triangle';
$iconClass = 'warning';
break;
case 'pelunasan':
$icon = 'fa-money-bill-wave';
$iconClass = 'warning';
break;
default:
$icon = 'fa-bell';
$iconClass = 'mail';
}
/* =========================
RESET SEMUA VAR
========================= */
$transaksi = null;
$pemesanan = null;
$dokumen = null;
/* =========================
RESOLVE DATA SESUAI TIPE
========================= */
if ($n->tipe == 'pelunasan') {
$transaksi = \App\Models\Transaksi::find($n->referensi_id);
}
elseif ($n->tipe == 'monitoring') {
$pemesanan = \App\Models\Pemesanan::find($n->referensi_id);
if ($pemesanan) {
$transaksi = $pemesanan->transaksi;
}
}
elseif ($n->tipe == 'verifikasi') {
$dokumen = \App\Models\Dokumen::find($n->referensi_id);
}
$link = '';
/* =====================================================
AMBIL DATA DASAR
===================================================== */
$transaksi = null;
$pemesanan = null;
$dokumen = null;
if ($n->tipe == 'pelunasan') {
$transaksi = \App\Models\Transaksi::find($n->referensi_id);
} elseif ($n->tipe == 'verfikasi') {
$dokumen = \App\Models\Dokumen::find($n->referensi_id);
} else {
$pemesanan = \App\Models\Pemesanan::find($n->referensi_id);
}
/* =====================================================
LOGIC PELUNASAN → INVOICE
===================================================== */
if ($n->tipe == 'pelunasan' && $transaksi) {
$link = route('invoice', $transaksi->id_transaksi);
/* =====================================================
LOGIC DOKUMEN
===================================================== */
} elseif ($n->tipe == 'dokumen' && $dokumen) {
$pemesanan = \App\Models\Pemesanan::find($dokumen->id_pemesanan);
if ($dokumen->status_verifikasi == 'ditolak') {
$link = route('form-pemesanan', $dokumen->id_pemesanan);
} else {
$link = route('detail-pemesanan', $dokumen->id_pemesanan);
}
/* =====================================================
MONITORING / TAHAP LAIN → DETAIL PEMESANAN
===================================================== */
} elseif ($pemesanan) {
$link = route('detail-pemesanan', $pemesanan->id_pemesanan);
} elseif ($n->tipe == 'transaksi') {
$link = route('pemesanan.terima-kasih', $n->referensi_id);
}
@endphp
@empty
{{-- ✅ Empty state: class tetap sama --}}
@endforelse
{{-- ✅ Pagination (jika pakai) - class Bootstrap tetap utuh --}}
@if(isset($notifikasi) && method_exists($notifikasi, 'links'))
{{ $n->judul }}
{{ $n->pesan }}
{{ \Carbon\Carbon::parse($n->created_at)->diffForHumans() }}
{{-- 🗑 HAPUS NOTIF --}}
{{-- ➡️ PANAH --}}
Belum Ada Notifikasi
Kamu akan menerima notifikasi saat ada update pemesanan atau verifikasi dokumen.
{{ $notifikasi->links() }}
@endif