Files
compras/app/Http/Middleware/PublicDevelopmentNavigation.php
nala 63d20b10fc
tests / ci (push) Canceled after 0s
commit de armazens
2026-11-04 09:40:26 +02:00

34 lines
1.1 KiB
PHP

<?php
namespace App\Http\Middleware;
use App\Services\PublicNavigation;
use Closure;
use Illuminate\Http\Request;
use Inertia\Inertia;
use Laravel\Fortify\Features;
use Symfony\Component\HttpFoundation\Response;
class PublicDevelopmentNavigation
{
public function handle(Request $request, Closure $next): Response
{
$navigation = app(PublicNavigation::class);
if (Features::enabled(Features::twoFactorAuthentication()) || ! $navigation->enabled() || $request->user('web') !== null || ! in_array($request->method(), ['GET', 'HEAD'], true)) {
return $next($request);
}
$path = '/'.$request->path();
if ($request->path() === '/') {
return redirect('/dashboard');
}
if (! isset(PublicNavigation::PAGES[$path])) {
return $next($request);
}
$response = Inertia::render(PublicNavigation::PAGES[$path], $navigation->props($request))->toResponse($request);
$response->headers->set('Cache-Control', 'private, no-store, max-age=0');
$response->headers->set('X-Robots-Tag', 'noindex, nofollow');
return $response;
}
}