HandleInertiaRequests.php 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Illuminate\Http\Request;
  4. use Inertia\Middleware;
  5. class HandleInertiaRequests extends Middleware
  6. {
  7. /**
  8. * The root template that's loaded on the first page visit.
  9. *
  10. * @see https://inertiajs.com/server-side-setup#root-template
  11. * @var string
  12. */
  13. protected $rootView = 'app';
  14. /**
  15. * Determines the current asset version.
  16. *
  17. * @see https://inertiajs.com/asset-versioning
  18. * @param \Illuminate\Http\Request $request
  19. * @return string|null
  20. */
  21. public function version(Request $request): ?string
  22. {
  23. return parent::version($request);
  24. }
  25. /**
  26. * Defines the props that are shared by default.
  27. *
  28. * @see https://inertiajs.com/shared-data
  29. * @param \Illuminate\Http\Request $request
  30. * @return array
  31. */
  32. public function share(Request $request): array
  33. {
  34. return array_merge(parent::share($request), [
  35. 'flash' => function () use ($request) {
  36. return [
  37. 'success' => $request->session()->get('success'),
  38. 'error' => $request->session()->get('error'),
  39. ];
  40. },
  41. ]);
  42. }
  43. }