@php // Cached briefly rather than invalidated on write — announcements change // rarely, and a up-to-60s staleness window is a fine trade for not // needing a dedicated cache-busting observer for this one banner. $announcement = \Illuminate\Support\Facades\Cache::remember( 'public.announcement-banner', 60, fn () => \App\Models\Announcement::query()->currentlyLive()->latest()->first(), ); $styles = [ 'info' => 'bg-brand-600 text-white', 'success' => 'bg-success-600 text-white', 'warning' => 'bg-amber-500 text-white', 'danger' => 'bg-red-600 text-white', ]; @endphp @if ($announcement)
{{ $announcement->message }}
@endif