Add Display Width setting (#759)

Allow users to pick how "wide" the panel is.
This commit is contained in:
Charles 2024-12-04 09:41:47 -05:00 committed by GitHub
parent efc37dd45a
commit d2a7d7708c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 4 deletions

View File

@ -10,6 +10,7 @@ use Filament\Actions\Action;
use Filament\Forms\Components\Actions\Action as FormAction; use Filament\Forms\Components\Actions\Action as FormAction;
use Filament\Forms\Components\Placeholder; use Filament\Forms\Components\Placeholder;
use Filament\Forms\Components\Section; use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Tabs; use Filament\Forms\Components\Tabs;
use Filament\Forms\Components\Tabs\Tab; use Filament\Forms\Components\Tabs\Tab;
use Filament\Forms\Components\TagsInput; use Filament\Forms\Components\TagsInput;
@ -25,6 +26,7 @@ use Filament\Notifications\Notification;
use Filament\Pages\Concerns\HasUnsavedDataChangesAlert; use Filament\Pages\Concerns\HasUnsavedDataChangesAlert;
use Filament\Pages\Concerns\InteractsWithHeaderActions; use Filament\Pages\Concerns\InteractsWithHeaderActions;
use Filament\Pages\Page; use Filament\Pages\Page;
use Filament\Support\Enums\MaxWidth;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Artisan;
@ -185,6 +187,11 @@ class Settings extends Page implements HasForms
$set('TRUSTED_PROXIES', $ips->values()->all()); $set('TRUSTED_PROXIES', $ips->values()->all());
}), }),
]), ]),
Select::make('FILAMENT_WIDTH')
->label('Display Width')
->native(false)
->options(MaxWidth::class)
->default(env('FILAMENT_WIDTH', config('panel.filament.display-width'))),
]; ];
} }

View File

@ -11,7 +11,6 @@ use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Navigation\MenuItem; use Filament\Navigation\MenuItem;
use Filament\Panel; use Filament\Panel;
use Filament\PanelProvider; use Filament\PanelProvider;
use Filament\Support\Enums\MaxWidth;
use Filament\Support\Facades\FilamentAsset; use Filament\Support\Facades\FilamentAsset;
use Filament\Widgets; use Filament\Widgets;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
@ -53,7 +52,7 @@ class AdminPanelProvider extends PanelProvider
->icon('tabler-arrow-back') ->icon('tabler-arrow-back')
->sort(24), ->sort(24),
]) ])
->maxContentWidth(MaxWidth::ScreenTwoExtraLarge) ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl'))
->spa() ->spa()
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources') ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages') ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')

View File

@ -11,7 +11,6 @@ use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Navigation\MenuItem; use Filament\Navigation\MenuItem;
use Filament\Panel; use Filament\Panel;
use Filament\PanelProvider; use Filament\PanelProvider;
use Filament\Support\Enums\MaxWidth;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Cookie\Middleware\EncryptCookies; use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
@ -33,8 +32,9 @@ class AppPanelProvider extends PanelProvider
->brandLogo(config('app.logo')) ->brandLogo(config('app.logo'))
->brandLogoHeight('2rem') ->brandLogoHeight('2rem')
->favicon(config('app.favicon', '/pelican.ico')) ->favicon(config('app.favicon', '/pelican.ico'))
->topNavigation(config('panel.filament.top-navigation', true))
->maxContentWidth(config('panel.filament.display-width', 'screen-2xl'))
->navigation(false) ->navigation(false)
->maxContentWidth(MaxWidth::ScreenTwoExtraLarge)
->profile(EditProfile::class, false) ->profile(EditProfile::class, false)
->login(Login::class) ->login(Login::class)
->userMenuItems([ ->userMenuItems([

View File

@ -162,6 +162,7 @@ return [
'filament' => [ 'filament' => [
'top-navigation' => env('FILAMENT_TOP_NAVIGATION', false), 'top-navigation' => env('FILAMENT_TOP_NAVIGATION', false),
'display-width' => env('FILAMENT_WIDTH', 'screen-2xl'),
], ],
'use_binary_prefix' => env('PANEL_USE_BINARY_PREFIX', true), 'use_binary_prefix' => env('PANEL_USE_BINARY_PREFIX', true),