Skip to content

Commit ae23007

Browse files
author
Joao Nascimento
committed
Add middleware to change color
1 parent 23303f2 commit ae23007

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

src/FilamentGeneralSettingsPlugin.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Filament\Contracts\Plugin;
66
use Filament\Panel;
7+
use Joaopaulolndev\FilamentGeneralSettings\Middleware\FilamentGeneralSettingsMiddleware;
78
use Joaopaulolndev\FilamentGeneralSettings\Pages\GeneralSettingsPage;
89

910
class FilamentGeneralSettingsPlugin implements Plugin
@@ -16,7 +17,8 @@ public function getId(): string
1617
public function register(Panel $panel): void
1718
{
1819
$panel
19-
->pages($this->preparePages());
20+
->pages($this->preparePages())
21+
->authMiddleware([FilamentGeneralSettingsMiddleware::class]);
2022
}
2123

2224
protected function preparePages(): array
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace Joaopaulolndev\FilamentGeneralSettings\Middleware;
4+
5+
use Closure;
6+
use Filament\Support\Facades\FilamentColor;
7+
use Illuminate\Http\Request;
8+
use Joaopaulolndev\FilamentGeneralSettings\Models\GeneralSetting;
9+
use Symfony\Component\HttpFoundation\Response;
10+
11+
class FilamentGeneralSettingsMiddleware
12+
{
13+
/**
14+
* Handle an incoming request.
15+
*
16+
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
17+
*/
18+
public function handle(Request $request, Closure $next): Response
19+
{
20+
$settings = GeneralSetting::first();
21+
22+
if($settings->theme_color) {
23+
FilamentColor::register([
24+
'primary' => $settings->theme_color,
25+
]);
26+
}
27+
28+
return $next($request);
29+
}
30+
}

0 commit comments

Comments
 (0)