add data-driven navigation with admin editor
All checks were successful
deploy / deploy (push) Successful in 1m34s

Replace hardcoded header, footer and mobile nav with settings-driven
loops. Nav items stored as JSON via Settings, loaded in ThemeHook with
sensible defaults. New admin navigation editor at /admin/navigation
for add/remove/reorder/save/reset. Mobile bottom nav also driven from
header nav items with icon mapping by slug.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-28 11:18:37 +00:00
parent 045be2ed7e
commit 3a243151af
11 changed files with 725 additions and 123 deletions

View File

@@ -425,6 +425,8 @@ defmodule BerrypodWeb.Admin.Pages.Editor do
|> assign(:cart_count, 2)
|> assign(:cart_subtotal, "£72.00")
|> assign(:cart_drawer_open, false)
|> assign(:header_nav_items, BerrypodWeb.ThemeHook.default_header_nav())
|> assign(:footer_nav_items, BerrypodWeb.ThemeHook.default_footer_nav())
|> preview_page_context(assigns.slug)
extra = Pages.load_block_data(page.blocks, preview)