Merge branch '129-add-user-friendly-404-pages' into develop
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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,
|
||||
]
|
||||
];
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user