It adds a vue component to load error pages with the beautiful Illustrations of Laravel 5.7 using TailwindCSS.
You can install the package via composer:
composer require arielmejiadev/inertiajs-error-page
php artisan vendor:publish --tag=inertiajs-errors
Go to "app/Exceptions/Handler.php" and override the render method and add another custom method:
public function render($request, Throwable $exception)
{
$response = parent::render($request, $exception);
if ($this->thereAreErrorsInProduction($response)) {
return \Inertia\Inertia::render('Errors/Error', [
'status' => $response->status(),
'message' => $exception->getMessage(),
'home' => config('app.url'),
])->toResponse($request)->setStatusCode($response->status());
} else if ($response->status() === 419) {
return back()->with([
'message' => 'The page expired, please try again.',
]);
}
return $response;
}
public function thereAreErrorsInProduction($response)
{
return \Illuminate\Support\Facades\App::environment('production') && in_array($response->status(), [500, 503, 404, 403, 401, 429]);
}
In your env file change:
APP_ENV=production
- Remember
If you are using Inertia Stack you need to compile your assets
npm run watch
You can test different code responses, the easiest way is to search a route that does not exists in your project :) to get a 404.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.