fix(cropper): professional permission-denied page

Centered card with navbar, lock icon, sans-serif stack (error pages
previously rendered in the browser default serif), and action-aware
copy: permission denial offers only 'Back to Tools' instead of a
pointless 'Try again'; auth failures keep Try again + Back to Tools.
This commit is contained in:
2026-10-01 01:35:37 +01:00
parent 2f0a1fab21
commit 22d9ba40e3
3 changed files with 31 additions and 9 deletions
+1 -1
View File
@@ -237,7 +237,7 @@ test('crop gate: permitted operator loads the page; denied operator does not', a
const cookies = await login(denied.base);
const page = await fetch(`${denied.base}/cropper`, { headers: { cookie: cookies } });
assert.equal(page.status, 403);
assert.match(await page.text(), /not permitted/i);
assert.match(await page.text(), /permission to crop images/i);
} finally {
await denied.stop();
}