33 lines
945 B
PHP
33 lines
945 B
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class ForceFilamentUiMiddleware
|
|
{
|
|
public function handle(Request $request, Closure $next): Response
|
|
{
|
|
if (! (bool) config('netgescon.ui.force_filament', false)) {
|
|
return $next($request);
|
|
}
|
|
|
|
// Keep Filament panel and non-admin paths untouched.
|
|
$isLegacyAdminPath = $request->is('admin') || $request->is('admin/*');
|
|
$isFilamentPath = $request->is('admin-filament') || $request->is('admin-filament/*');
|
|
|
|
if (! $isLegacyAdminPath || $isFilamentPath) {
|
|
return $next($request);
|
|
}
|
|
|
|
// Redirect only navigational requests. Non-GET calls are left as-is.
|
|
if (! $request->isMethod('GET') && ! $request->isMethod('HEAD')) {
|
|
return $next($request);
|
|
}
|
|
|
|
return redirect('/admin-filament');
|
|
}
|
|
}
|