Skip to content

Commit a6d26cc

Browse files
jasonvargaclaude
andcommitted
Fix blank page when visiting CP routes with invalid items
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent d01abd9 commit a6d26cc

3 files changed

Lines changed: 15 additions & 2 deletions

File tree

resources/js/pages/errors/404.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
<script setup>
2-
import { Card, Heading, Description } from '@ui';
2+
import { Card, Heading, Description, Button } from '@ui';
3+
import Blank from '@/pages/layout/Blank.vue';
4+
import useBodyClasses from '@/pages/layout/body-classes.js';
5+
6+
defineOptions({ layout: Blank });
7+
useBodyClasses('bg-gray-50 dark:bg-gray-900');
38
</script>
49

510
<template>
611
<div class="flex min-h-screen flex-col items-center justify-center">
712
<Card class="text-center flex flex-col items-center space-y-2">
813
<Heading size="2xl" :text="__('404')" />
914
<Description :text="__('The page you are looking for could not be found.')" />
15+
<Button as="a" :href="cp_url('/')" size="xs" variant="filled" class="mt-4" :text="__('Return to Control Panel')" />
1016
</Card>
1117
</div>
1218
</template>

resources/js/pages/errors/Error.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script setup>
2-
import { Card, Heading, Description } from '@ui';
2+
import { Card, Heading, Description, Button } from '@ui';
33
import Blank from '@/pages/layout/Blank.vue';
44
import useBodyClasses from '@/pages/layout/body-classes.js';
55
@@ -13,6 +13,7 @@ useBodyClasses('bg-gray-50 dark:bg-gray-900');
1313
<Card class="text-center flex flex-col items-center space-y-2">
1414
<Heading size="2xl" :text="__('Whoops!')" />
1515
<Description :text="`${__('Something went wrong')} (${status})`" />
16+
<Button as="a" :href="cp_url('/')" size="xs" variant="filled" class="mt-4" :text="__('Return to Control Panel')" />
1617
</Card>
1718
</div>
1819
</template>

src/Exceptions/Concerns/RendersHttpExceptions.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
use Illuminate\Http\Request;
77
use Illuminate\Http\Response;
88
use Inertia\Inertia;
9+
use Statamic\Exceptions\AuthenticationException;
910
use Statamic\Facades\Cascade;
11+
use Statamic\Facades\User;
1012
use Statamic\Statamic;
1113
use Statamic\StaticCaching\Cacher;
1214
use Statamic\StaticCaching\Cachers\ApplicationCacher;
@@ -23,6 +25,10 @@ public function render(Request $request)
2325
}
2426

2527
if (Statamic::isCpRoute()) {
28+
if (! User::current()) {
29+
return (new AuthenticationException)->toResponse($request);
30+
}
31+
2632
return Inertia::render('errors/'.$this->getStatusCode())
2733
->toResponse(request())
2834
->setStatusCode($this->getStatusCode());

0 commit comments

Comments
 (0)