From 1602b14c3c4d159014f803ab407dd9c970c2d7b2 Mon Sep 17 00:00:00 2001 From: giles Date: Tue, 24 Feb 2026 11:39:39 +0000 Subject: [PATCH] Fetch nav-tree fragment from blog, drop local menu_items query Navigation is now rendered by blog as an HTML fragment. This app fetches it with its own app_name and path for correct highlighting. Co-Authored-By: Claude Opus 4.6 --- app.py | 11 +++++++---- shared | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 1605592..f02cda1 100644 --- a/app.py +++ b/app.py @@ -3,7 +3,7 @@ from __future__ import annotations import path_setup # noqa: F401 # adds shared/ to sys.path from pathlib import Path -from quart import g, abort +from quart import g, abort, request from jinja2 import FileSystemLoader, ChoiceLoader from shared.infrastructure.factory import create_base_app @@ -15,17 +15,20 @@ async def events_context() -> dict: """ Events app context processor. - - menu_items: via shared.services.navigation + - nav_tree_html: fetched from blog as fragment - cart_count/cart_total: via cart service (shared DB) """ from shared.infrastructure.context import base_context - from shared.services.navigation import get_navigation_tree from shared.services.registry import services from shared.infrastructure.cart_identity import current_cart_identity + from shared.infrastructure.fragments import fetch_fragment ctx = await base_context() - ctx["menu_items"] = await get_navigation_tree(g.s) + ctx["nav_tree_html"] = await fetch_fragment( + "blog", "nav-tree", + params={"app_name": "events", "path": request.path}, + ) # Cart data via service (replaces cross-app HTTP API) ident = current_cart_identity() diff --git a/shared b/shared index 0d40dfa..7e650a0 160000 --- a/shared +++ b/shared @@ -1 +1 @@ -Subproject commit 0d40dfaeca7dbdc8adeaf7b071bfd9faccb74511 +Subproject commit 7e650a0ee3a61d56525cc9e298ed0c4194e780a4