adrema/app/Http/Middleware/InertiaShareMiddleware.php

43 lines
1.0 KiB
PHP
Raw Normal View History

2020-04-10 20:32:12 +02:00
<?php
namespace App\Http\Middleware;
use App\Http\Resources\UserResource;
2021-07-17 16:10:45 +02:00
use Closure;
use Session;
2020-04-10 20:32:12 +02:00
class InertiaShareMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
\Inertia::share([
2021-04-11 01:25:40 +02:00
'auth' => ['user' => auth()->check() ? new UserResource(auth()->user()) : null],
2021-04-11 10:17:30 +02:00
'search' => $request->query('search', ''),
'flash' => session()->get('flash'),
2021-04-11 01:25:40 +02:00
'menu' => function() {
return session()->get('menu');
},
2020-04-10 20:32:12 +02:00
'errors' => function () {
return Session::get('errors')
? Session::get('errors')->getBag('default')->getMessages()
: (object) [];
},
'title' => function() {
return session()->get('title', '');
}
]);
$response = $next($request);
return $response;
}
}