show proper 404 page for missing custom pages instead of redirecting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-28 08:35:01 +00:00
parent ad2f2517e5
commit f479be5728
3 changed files with 21 additions and 17 deletions

View File

@@ -15,23 +15,13 @@ defmodule BerrypodWeb.Shop.CustomPage do
cond do
is_nil(page) ->
record_broken_url("/#{slug}")
{:noreply,
socket
|> put_flash(:error, "Page not found")
|> push_navigate(to: ~p"/")}
raise BerrypodWeb.NotFoundError
page.type != "custom" ->
{:noreply,
socket
|> put_flash(:error, "Page not found")
|> push_navigate(to: ~p"/")}
raise BerrypodWeb.NotFoundError
page.published != true and not socket.assigns.is_admin ->
{:noreply,
socket
|> put_flash(:error, "Page not found")
|> push_navigate(to: ~p"/")}
raise BerrypodWeb.NotFoundError
true ->
extra = Pages.load_block_data(page.blocks, socket.assigns)