{{-- Prefer SuperAdmin DB (is_active + locale message/updates). Fall back to config('app.maintenance_banner_enabled') + static lang when no DB row. Rendered at the very top of , fixed above the navbar. Its height is measured in JS and published as --maintenance-banner-height on , which master.blade.php uses to push the navbar, sidebar, report toolbars, and page content down by the same amount. Dismissing the banner (the × button) stores a cookie keyed to the banner's "version" (content hash / updated_at), so editing the message later makes it reappear. While dismissed, a small floating icon (not in document flow, so it never pushes content) sits near the top of the page and reopens the banner when clicked. The cookie is read server-side below so the correct state renders on first paint, with no flash. --}} @php $maintenanceBannerDisplay = app(\Modules\SuperAdmin\Services\InternalTools\MaintenanceBannerService::class)->resolveForDisplay(); $maintenanceBannerCookieName = 'vom_maintenance_banner_dismissed'; $maintenanceBannerDismissed = $maintenanceBannerDisplay['enabled'] && request()->cookie($maintenanceBannerCookieName) === $maintenanceBannerDisplay['version']; @endphp @if($maintenanceBannerDisplay['enabled'])

{{ \Illuminate\Support\Str::limit($maintenanceBannerDisplay['message'], \Modules\SuperAdmin\Models\MaintenanceBanner::MESSAGE_MAX_LENGTH, '…') }}

@if(!empty($maintenanceBannerDisplay['updates']))
@foreach($maintenanceBannerDisplay['updates'] as $update) @php $isNew = ($update['type'] ?? 'improvement') === 'new'; @endphp
{{ $update['text'] }} @lang($isNew ? 'companyuser::maintenance.tag_new' : 'companyuser::maintenance.tag_improvement')
@endforeach
@endif
@endif