From 0b3dce132f6094a90be9664b6e9d106a1d9101e9 Mon Sep 17 00:00:00 2001 From: MartinOscar <40749467+rmartinoscar@users.noreply.github.com> Date: Mon, 17 Mar 2025 13:28:18 +0100 Subject: [PATCH] Add `header`, `footer` & `body-end` views (#1111) --- app/Providers/AppServiceProvider.php | 38 +++++++++---------- .../views/filament/layouts/body-end.blade.php | 2 + .../views/filament/layouts/footer.blade.php | 14 +++++++ .../views/filament/layouts/header.blade.php | 2 + 4 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 resources/views/filament/layouts/body-end.blade.php create mode 100644 resources/views/filament/layouts/footer.blade.php create mode 100644 resources/views/filament/layouts/header.blade.php diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 199a42fe9..a3b18a189 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,18 +2,21 @@ namespace App\Providers; +use App\Checks\CacheCheck; +use App\Checks\DatabaseCheck; +use App\Checks\DebugModeCheck; +use App\Checks\EnvironmentCheck; use App\Checks\NodeVersionsCheck; use App\Checks\PanelVersionCheck; +use App\Checks\ScheduleCheck; use App\Checks\UsedDiskSpaceCheck; +use App\Models; +use App\Extensions\Captcha\Providers\TurnstileProvider; use App\Extensions\OAuth\Providers\AuthentikProvider; use App\Extensions\OAuth\Providers\CommonProvider; use App\Extensions\OAuth\Providers\DiscordProvider; use App\Extensions\OAuth\Providers\GithubProvider; use App\Extensions\OAuth\Providers\SteamProvider; -use App\Models; -use App\Models\ApiKey; -use App\Models\Node; -use App\Models\User; use App\Services\Helpers\SoftwareVersionService; use Dedoc\Scramble\Scramble; use Dedoc\Scramble\Support\Generator\OpenApi; @@ -33,12 +36,6 @@ use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Str; use Laravel\Sanctum\Sanctum; -use App\Checks\CacheCheck; -use App\Checks\DatabaseCheck; -use App\Checks\DebugModeCheck; -use App\Checks\EnvironmentCheck; -use App\Checks\ScheduleCheck; -use App\Extensions\Captcha\Providers\TurnstileProvider; use Spatie\Health\Facades\Health; class AppServiceProvider extends ServiceProvider @@ -76,7 +73,7 @@ class AppServiceProvider extends ServiceProvider Http::macro( 'daemon', - fn (Node $node, array $headers = []) => Http::acceptJson() + fn (Models\Node $node, array $headers = []) => Http::acceptJson() ->asJson() ->withToken($node->daemon_token) ->withHeaders($headers) @@ -86,7 +83,7 @@ class AppServiceProvider extends ServiceProvider ->baseUrl($node->getConnectionAddress()) ); - Sanctum::usePersonalAccessTokenModel(ApiKey::class); + Sanctum::usePersonalAccessTokenModel(Models\ApiKey::class); Gate::define('viewApiDocs', fn () => true); @@ -123,10 +120,7 @@ class AppServiceProvider extends ServiceProvider FilamentView::registerRenderHook( PanelsRenderHook::HEAD_START, - fn (): string => Blade::render(<<<'HTML' - @vite(['resources/css/app.css', 'resources/js/app.js']) - @livewireStyles - HTML), + fn () => Blade::render('filament.layouts.header') ); FilamentView::registerRenderHook( @@ -136,10 +130,12 @@ class AppServiceProvider extends ServiceProvider FilamentView::registerRenderHook( PanelsRenderHook::BODY_END, - fn (): string => Blade::render(<<<'HTML' - @livewireScripts - @vite(['resources/js/app.js']) - HTML), + fn () => Blade::render('filament.layouts.body-end'), + ); + + FilamentView::registerRenderHook( + PanelsRenderHook::FOOTER, + fn () => Blade::render('filament.layouts.footer'), ); // Don't run any health checks during tests @@ -156,7 +152,7 @@ class AppServiceProvider extends ServiceProvider ]); } - Gate::before(function (User $user, $ability) { + Gate::before(function (Models\User $user, $ability) { return $user->isRootAdmin() ? true : null; }); diff --git a/resources/views/filament/layouts/body-end.blade.php b/resources/views/filament/layouts/body-end.blade.php new file mode 100644 index 000000000..e4611808f --- /dev/null +++ b/resources/views/filament/layouts/body-end.blade.php @@ -0,0 +1,2 @@ +@livewireScripts +@vite(['resources/js/app.js']) \ No newline at end of file diff --git a/resources/views/filament/layouts/footer.blade.php b/resources/views/filament/layouts/footer.blade.php new file mode 100644 index 000000000..443dbfc21 --- /dev/null +++ b/resources/views/filament/layouts/footer.blade.php @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/resources/views/filament/layouts/header.blade.php b/resources/views/filament/layouts/header.blade.php new file mode 100644 index 000000000..b5f8cc151 --- /dev/null +++ b/resources/views/filament/layouts/header.blade.php @@ -0,0 +1,2 @@ +@livewireStyles +@vite(['resources/css/app.css']) \ No newline at end of file