Add header, footer & body-end views (#1111)

This commit is contained in:
MartinOscar 2025-03-17 13:28:18 +01:00 committed by GitHub
parent 5bf23b972d
commit 0b3dce132f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 35 additions and 21 deletions

View File

@ -2,18 +2,21 @@
namespace App\Providers; 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\NodeVersionsCheck;
use App\Checks\PanelVersionCheck; use App\Checks\PanelVersionCheck;
use App\Checks\ScheduleCheck;
use App\Checks\UsedDiskSpaceCheck; use App\Checks\UsedDiskSpaceCheck;
use App\Models;
use App\Extensions\Captcha\Providers\TurnstileProvider;
use App\Extensions\OAuth\Providers\AuthentikProvider; use App\Extensions\OAuth\Providers\AuthentikProvider;
use App\Extensions\OAuth\Providers\CommonProvider; use App\Extensions\OAuth\Providers\CommonProvider;
use App\Extensions\OAuth\Providers\DiscordProvider; use App\Extensions\OAuth\Providers\DiscordProvider;
use App\Extensions\OAuth\Providers\GithubProvider; use App\Extensions\OAuth\Providers\GithubProvider;
use App\Extensions\OAuth\Providers\SteamProvider; 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 App\Services\Helpers\SoftwareVersionService;
use Dedoc\Scramble\Scramble; use Dedoc\Scramble\Scramble;
use Dedoc\Scramble\Support\Generator\OpenApi; use Dedoc\Scramble\Support\Generator\OpenApi;
@ -33,12 +36,6 @@ use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Laravel\Sanctum\Sanctum; 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; use Spatie\Health\Facades\Health;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
@ -76,7 +73,7 @@ class AppServiceProvider extends ServiceProvider
Http::macro( Http::macro(
'daemon', 'daemon',
fn (Node $node, array $headers = []) => Http::acceptJson() fn (Models\Node $node, array $headers = []) => Http::acceptJson()
->asJson() ->asJson()
->withToken($node->daemon_token) ->withToken($node->daemon_token)
->withHeaders($headers) ->withHeaders($headers)
@ -86,7 +83,7 @@ class AppServiceProvider extends ServiceProvider
->baseUrl($node->getConnectionAddress()) ->baseUrl($node->getConnectionAddress())
); );
Sanctum::usePersonalAccessTokenModel(ApiKey::class); Sanctum::usePersonalAccessTokenModel(Models\ApiKey::class);
Gate::define('viewApiDocs', fn () => true); Gate::define('viewApiDocs', fn () => true);
@ -123,10 +120,7 @@ class AppServiceProvider extends ServiceProvider
FilamentView::registerRenderHook( FilamentView::registerRenderHook(
PanelsRenderHook::HEAD_START, PanelsRenderHook::HEAD_START,
fn (): string => Blade::render(<<<'HTML' fn () => Blade::render('filament.layouts.header')
@vite(['resources/css/app.css', 'resources/js/app.js'])
@livewireStyles
HTML),
); );
FilamentView::registerRenderHook( FilamentView::registerRenderHook(
@ -136,10 +130,12 @@ class AppServiceProvider extends ServiceProvider
FilamentView::registerRenderHook( FilamentView::registerRenderHook(
PanelsRenderHook::BODY_END, PanelsRenderHook::BODY_END,
fn (): string => Blade::render(<<<'HTML' fn () => Blade::render('filament.layouts.body-end'),
@livewireScripts );
@vite(['resources/js/app.js'])
HTML), FilamentView::registerRenderHook(
PanelsRenderHook::FOOTER,
fn () => Blade::render('filament.layouts.footer'),
); );
// Don't run any health checks during tests // 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; return $user->isRootAdmin() ? true : null;
}); });

View File

@ -0,0 +1,2 @@
@livewireScripts
@vite(['resources/js/app.js'])

View File

@ -0,0 +1,14 @@
<footer class="flex flex-col items-center justify-center text-center space-y-2 p-4 text-gray-600 dark:text-gray-400">
<a class="font-semibold" href="https://pelican.dev/docs/#core-team" target="_blank">
&copy; {{ date('Y') }} Pelican
</a>
@if(config('app.debug'))
<div class="flex space-x-1 text-xs">
<x-filament::icon
:icon="'tabler-clock'"
@class(['w-4 h-4 text-gray-500 dark:text-gray-400'])
/>
<span>{{ round(microtime(true) - LARAVEL_START, 3) }}s</span>
</div>
@endif
</footer>

View File

@ -0,0 +1,2 @@
@livewireStyles
@vite(['resources/css/app.css'])