From ab0b30af11bc0848d2055b9c6caab58b5a111404 Mon Sep 17 00:00:00 2001 From: Vasyka Date: Thu, 17 Sep 2026 20:46:45 +0000 Subject: [PATCH] feat: inject cookie banner into both Filament panels via renderHook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds BODY_END renderHook in TenantPanelProvider and CentralPanelProvider so the cookie consent banner appears on /app/* and /admin/* pages. Alpine.js is already bundled by Livewire/Filament — no CDN needed. Tenant panel uses tenant theme color; central panel uses indigo default. Co-Authored-By: Claude Sonnet 4.6 --- app/Providers/Filament/CentralPanelProvider.php | 10 ++++++++++ app/Providers/Filament/TenantPanelProvider.php | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/app/Providers/Filament/CentralPanelProvider.php b/app/Providers/Filament/CentralPanelProvider.php index 3c9e852..0884ca7 100644 --- a/app/Providers/Filament/CentralPanelProvider.php +++ b/app/Providers/Filament/CentralPanelProvider.php @@ -86,6 +86,16 @@ class CentralPanelProvider extends PanelProvider HTML ) + ->renderHook( + PanelsRenderHook::BODY_END, + fn (): string => Blade::render(<<<'BLADE' + @php + $tenant = null; + $themeColor = '#6366f1'; + @endphp + @include('partials.cookie-banner') + BLADE) + ) ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, diff --git a/app/Providers/Filament/TenantPanelProvider.php b/app/Providers/Filament/TenantPanelProvider.php index 30035ba..c09a3ea 100644 --- a/app/Providers/Filament/TenantPanelProvider.php +++ b/app/Providers/Filament/TenantPanelProvider.php @@ -342,6 +342,16 @@ class TenantPanelProvider extends PanelProvider @endif BLADE) + ) + ->renderHook( + PanelsRenderHook::BODY_END, + fn (): string => Blade::render(<<<'BLADE' + @php + $tenant = app(\App\Tenancy\TenantManager::class)->current(); + $themeColor = $tenant?->settings['theme_color'] ?? '#3B82F6'; + @endphp + @include('partials.cookie-banner') + BLADE) ); } }