diff --git a/app/Ship/Exceptions/Handler.php b/app/Ship/Exceptions/Handler.php index 147d554..d9576a0 100644 --- a/app/Ship/Exceptions/Handler.php +++ b/app/Ship/Exceptions/Handler.php @@ -3,6 +3,7 @@ namespace App\Ship\Exceptions; use App\Ship\Abstracts\Exceptions\Handler as AbstractHandler; +use Inertia\Inertia; use Throwable; class Handler extends AbstractHandler @@ -47,4 +48,21 @@ class Handler extends AbstractHandler // }); } + + public function render($request, Throwable $e) + { + $response = parent::render($request, $e); + + if (! app()->environment(['local', 'testing']) && in_array($response->getStatusCode(), [500, 503, 404, 403])) { + return Inertia::render('Error', ['status' => $response->getStatusCode()]) + ->toResponse($request) + ->setStatusCode($response->getStatusCode()); + } elseif ($response->getStatusCode() === 419) { + return back()->with([ + 'message' => 'The page expired, please try again.', + ]); + } + + return $response; + } }