Add widget registry for universal UI decoupling
Introduces a widget system where domains register UI fragments into named slots (container_nav, container_card, account_page, account_link). Host apps iterate widgets generically without naming any domain. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,10 @@ def create_base_app(
|
||||
"""
|
||||
if domain_services_fn is not None:
|
||||
domain_services_fn()
|
||||
|
||||
from shared.services.widgets import register_all_widgets
|
||||
register_all_widgets()
|
||||
|
||||
app = Quart(
|
||||
name,
|
||||
static_folder=STATIC_DIR,
|
||||
|
||||
@@ -101,5 +101,9 @@ def setup_jinja(app: Quart) -> None:
|
||||
app.jinja_env.globals["page_cart_url"] = page_cart_url
|
||||
app.jinja_env.globals["market_product_url"] = market_product_url
|
||||
|
||||
# widget registry available in all templates
|
||||
from shared.services.widget_registry import widgets as _widget_registry
|
||||
app.jinja_env.globals["widgets"] = _widget_registry
|
||||
|
||||
# register jinja filters
|
||||
register_filters(app)
|
||||
|
||||
Reference in New Issue
Block a user