Merge branch '129-add-user-friendly-404-pages' into develop

This commit is contained in:
Dennis
2022-07-01 07:53:44 +02:00
3 changed files with 18 additions and 17 deletions

View File

@@ -2,7 +2,11 @@
namespace App\Exceptions;
use Exception;
use Throwable;
use Illuminate\Http\Request;
use App\Http\Middleware\HandleInertiaRequests;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
class Handler extends ExceptionHandler
@@ -29,10 +33,10 @@ class Handler extends ExceptionHandler
/**
* Report or log an exception.
*
* @param \Throwable $exception
* @param Throwable $exception
* @return void
*
* @throws \Exception
* @throws Exception
*/
public function report(Throwable $exception)
{
@@ -42,24 +46,20 @@ class Handler extends ExceptionHandler
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $exception
* @return \Symfony\Component\HttpFoundation\Response
* @param Request $request
* @param Throwable $exception
* @return Response
*
* @throws \Throwable
* @throws Throwable
*/
public function render($request, Throwable $exception)
{
$response = parent::render($request, $exception);
if (in_array($response->status(), [404, 403])) {
\Route::any($request->path(), function () use ($exception, $request) {
return parent::render($request, $exception);
})->middleware('web');
return inertia()->render('Errors/' . $response->status(), ['status' => $response->status()])
->toResponse($request)
->setStatusCode($response->status());
if (in_array($response->status(), [403, 404])) {
return app(HandleInertiaRequests::class)
->handle($request, fn () => inertia()->render('Errors/' . $response->status(), ['status' => $response->status()])
->toResponse($request));
}
return $response;

View File

@@ -2,10 +2,11 @@
namespace App\Http\Controllers\Profile;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\UserProfileRequest;
use App\Http\Resources\UserProfileResource;
use App\Models\User;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
@@ -40,7 +41,7 @@ class ProfileController extends Controller
public function destroy(Request $request)
{
/* @var $user \App\Models\User */
/* @var $user User */
$user = $request->user();
$user->sites()->detach();

View File

@@ -75,7 +75,7 @@ class HandleInertiaRequests extends Middleware
],
'can' => $can,
'integrations' => [
'cloudflare' => (bool)auth()->user() ? auth()->user()->providers()->where('type', UserProvider::TYPE_CLOUDFLARE)->count() : false,
'cloudflare' => (bool) auth()->user() ? auth()->user()->providers()->where('type', UserProvider::TYPE_CLOUDFLARE)->count() : false,
]
];
},