From 2d3d001ea4974828631cb3e90ee4d8984c021ee2 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 27 Jan 2026 15:13:02 +0700 Subject: [PATCH] feat: Dynamically load site logo and favicon from general settings. --- app/Providers/Filament/DashboardPanelProvider.php | 15 ++++++++++----- resources/views/components/layouts/app.blade.php | 15 +++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/Providers/Filament/DashboardPanelProvider.php b/app/Providers/Filament/DashboardPanelProvider.php index 83e8195..1d22013 100644 --- a/app/Providers/Filament/DashboardPanelProvider.php +++ b/app/Providers/Filament/DashboardPanelProvider.php @@ -5,6 +5,7 @@ use App\Filament\Pages\Auth\EmailVerification; use App\Filament\Pages\Auth\Login; use App\Filament\Pages\Auth\Registration; +use App\Settings\GeneralSettings; use BezhanSalleh\FilamentShield\FilamentShieldPlugin; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\AuthenticateSession; @@ -22,6 +23,7 @@ use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; use Illuminate\Routing\Middleware\SubstituteBindings; use Illuminate\Session\Middleware\StartSession; +use Illuminate\Support\Facades\Storage; use Illuminate\View\Middleware\ShareErrorsFromSession; use Swindon\FilamentHashids\Middleware\FilamentHashidsMiddleware; use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; @@ -38,17 +40,21 @@ public function panel(Panel $panel): Panel mkdir($fullPath, 0777, true); } - $files = glob($fullPath.'/*'); + $files = glob($fullPath . '/*'); if (! $files || count($files) === 0) { $defaultImage = public_path('assets/img/bg/default.jpg'); - $targetImage = $fullPath.'/default.png'; + $targetImage = $fullPath . '/default.png'; copy($defaultImage, $targetImage); } + $generalSettings = app(GeneralSettings::class); + return $panel ->default() ->id('dashboard') ->path('dashboard') + ->brandLogo(fn() => Storage::url($generalSettings->site_logo)) + ->favicon(fn() => Storage::url($generalSettings->site_icon)) ->login(Login::class) ->registration(Registration::class) ->emailVerification(EmailVerification::class) @@ -87,7 +93,7 @@ public function panel(Panel $panel): Panel FilamentBackgroundsPlugin::make() ->imageProvider( MyImages::make() - ->directory('storage/'.$directoryAuthBg) + ->directory('storage/' . $directoryAuthBg) ), ]) ->authMiddleware([ @@ -104,7 +110,6 @@ public function panel(Panel $panel): Panel 'Pelindung', ]) ->databaseNotifications() - ->databaseNotificationsPolling('30s') - ->favicon(asset('assets/img/logo/favicon.png')); + ->databaseNotificationsPolling('30s'); } } diff --git a/resources/views/components/layouts/app.blade.php b/resources/views/components/layouts/app.blade.php index b8a030c..fe80c09 100644 --- a/resources/views/components/layouts/app.blade.php +++ b/resources/views/components/layouts/app.blade.php @@ -8,22 +8,17 @@ - - - - - - + + + - - + + - - @vite(['resources/js/app.js'])