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;
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;
});

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'])