@php
// Sumber data: composer global (DB) jika ada, fallback ke $items (legacy layout).
$notificationItems = $sidebarNotifications ?? $items ?? [];
$unreadCount = (int) ($sidebarNotificationsUnread ?? $unread ?? 0);
$unreadLabel = $unreadCount > 99 ? '99+' : (string) $unreadCount;
$lihatSemuaUrl = isset($lihatSemuaRoute) && \Illuminate\Support\Facades\Route::has($lihatSemuaRoute)
? route($lihatSemuaRoute)
: '#';
@endphp
@forelse ($notificationItems as $item)
@php
if (is_object($item) && method_exists($item, 'getAttribute')) {
$itemIcon = match ($item->tipe) {
'order' => 'shopping_bag',
'pembayaran' => 'payments',
'pengiriman' => 'local_shipping',
'komplain' => 'support_agent',
'ulasan' => 'star',
'wallet' => 'account_balance_wallet',
'promo' => 'local_offer',
default => 'notifications',
};
$itemHtml = ''.e($item->judul).' — '.e($item->pesan);
$itemTime = $item->created_at?->diffForHumans() ?? '-';
$itemTarget = $item->url;
$itemId = $item->getAttribute('notification_id');
} else {
$itemIcon = $item['icon'] ?? 'notifications';
$itemHtml = $item['html'] ?? ($item['judul'] ?? '');
$itemTime = $item['time'] ?? $item['waktu'] ?? '-';
$itemTarget = $item['url'] ?? '#';
$itemId = $item['id'] ?? $item['id_notif'] ?? null;
}
@endphp
-
{{ $itemIcon }}
{!! $itemHtml !!}
{{ $itemTime }}
@empty
- Belum ada notifikasi.
@endforelse
@if ($lihatSemuaUrl !== '#')
Lihat Semua Notifikasi
@endif