@php $activeNotice = getActiveImportantNotice(); $shouldDisplayNotice = false; $authUser = auth()->user(); $isAdminUser = $authUser && $authUser->hasAnyRole(['admin', 'super admin']); // Only display for regular logged-in users (STRICTLY exclude admin & super admin) if (auth()->check() && ! $isAdminUser && $activeNotice && ! empty($activeNotice['is_active'])) { // Exclude admin management routes and API/AJAX calls $isAdminArea = request()->is('admin*') || request()->routeIs('admin.*') || request()->routeIs('dashboard'); if (! $isAdminArea && ! request()->ajax() && ! request()->wantsJson()) { $sessionId = (string) session()->getId(); $hasSeenInSession = session('important_notice_seen_in_session') === true || (string) session('important_notice_session_id') === $sessionId; // Only display once per login session for normal users if (! $hasSeenInSession) { $shouldDisplayNotice = true; // Mark immediately in session so any page refresh or navigation in this session will NOT show it again session()->put('important_notice_seen_in_session', true); session()->put('important_notice_session_id', $sessionId); } } } @endphp @if($shouldDisplayNotice && $activeNotice)
@endif