Skip to content

Commit 279b631

Browse files
committed
Make panel middleware configurable
1 parent 1eb1c54 commit 279b631

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

config/filament-flexible-content-block-pages.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
<?php
22

33
// config for Statikbe/FilamentFlexibleContentBlockPages
4+
use Filament\Http\Middleware\Authenticate;
5+
use Filament\Http\Middleware\AuthenticateSession;
6+
use Filament\Http\Middleware\DisableBladeIconComponents;
7+
use Filament\Http\Middleware\DispatchServingFilamentEvent;
8+
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
9+
use Illuminate\Cookie\Middleware\EncryptCookies;
10+
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
11+
use Illuminate\Routing\Middleware\SubstituteBindings;
12+
use Illuminate\Session\Middleware\StartSession;
13+
use Illuminate\View\Middleware\ShareErrorsFromSession;
414
use Statikbe\FilamentFlexibleContentBlockPages\FilamentFlexibleContentBlockPagesConfig;
515

616
return [
@@ -25,6 +35,20 @@
2535

2636
'panel' => [
2737
'path' => 'content',
38+
'middleware' => [
39+
EncryptCookies::class,
40+
AddQueuedCookiesToResponse::class,
41+
StartSession::class,
42+
AuthenticateSession::class,
43+
ShareErrorsFromSession::class,
44+
VerifyCsrfToken::class,
45+
SubstituteBindings::class,
46+
DisableBladeIconComponents::class,
47+
DispatchServingFilamentEvent::class,
48+
],
49+
'auth_middleware' => [
50+
Authenticate::class,
51+
]
2852
],
2953

3054
'seo' => [

src/FilamentFlexibleContentBlockPagesConfig.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@ public function getPanelPath(): string
8787
return $this->packageConfig('panel.path', 'content');
8888
}
8989

90+
public function getPanelMiddleware(): array
91+
{
92+
return $this->packageConfig('panel.middleware', []);
93+
}
94+
95+
public function getPanelAuthMiddleware(): array
96+
{
97+
return $this->packageConfig('panel.auth_middleware', []);
98+
}
99+
90100
public function getSEODefaultCanonicalLocale(): string
91101
{
92102
return $this->packageConfig('seo.default_canonical_locale', 'en');

src/FlexibleContentBlockPagesPanel.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,32 @@
22

33
namespace Statikbe\FilamentFlexibleContentBlockPages;
44

5+
use Filament\Http\Middleware\Authenticate;
6+
use Filament\Http\Middleware\AuthenticateSession;
7+
use Filament\Http\Middleware\DisableBladeIconComponents;
8+
use Filament\Http\Middleware\DispatchServingFilamentEvent;
59
use Filament\Panel;
610
use Filament\PanelProvider;
711
use Filament\SpatieLaravelTranslatablePlugin;
12+
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
13+
use Illuminate\Cookie\Middleware\EncryptCookies;
14+
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
15+
use Illuminate\Routing\Middleware\SubstituteBindings;
16+
use Illuminate\Session\Middleware\StartSession;
17+
use Illuminate\View\Middleware\ShareErrorsFromSession;
818
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
919

1020
class FlexibleContentBlockPagesPanel extends PanelProvider
1121
{
22+
const ID = 'filament-flexible-content-block-pages';
23+
1224
public function panel(Panel $panel): Panel
1325
{
1426
return $panel
15-
->id('filament-flexible-content-block-pages')
27+
->id(static::ID)
1628
->path(FilamentFlexibleContentBlockPages::config()->getPanelPath())
29+
->middleware(FilamentFlexibleContentBlockPages::config()->getPanelMiddleware())
30+
->authMiddleware(FilamentFlexibleContentBlockPages::config()->getPanelAuthMiddleware())
1731
->plugin(FlexibleContentBlockPagesPlugin::make())
1832
->plugin(SpatieLaravelTranslatablePlugin::make()
1933
->defaultLocales(FilamentFlexibleContentBlockPages::config()->getSupportedLocales()));

0 commit comments

Comments
 (0)