Slim sxc/pages/__init__.py for federation, test, cart, blog

Move render functions, layouts, helpers, and utils from __init__.py
to sub-modules (renders.py, layouts.py, helpers.py, utils.py).
Update all bp route imports to point at sub-modules directly.
Each __init__.py is now ≤20 lines of setup + registration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 16:51:57 +00:00
parent 03d7b29745
commit 8eaf4026ab
22 changed files with 1668 additions and 1648 deletions

View File

@@ -14,7 +14,7 @@ def register(url_prefix: str = "/") -> Blueprint:
"""Full page dashboard with last results."""
from shared.sx.page import get_template_context
from shared.browser.app.csrf import generate_csrf_token
from sxc.pages import render_dashboard_page_sx
from sxc.pages.renders import render_dashboard_page_sx
import runner
ctx = await get_template_context()
@@ -63,12 +63,12 @@ def register(url_prefix: str = "/") -> Blueprint:
if is_htmx:
# S-expression wire format — sx.js renders client-side
from shared.sx.helpers import sx_response
from sxc.pages import test_detail_sx
from sxc.pages.renders import test_detail_sx
return sx_response(await test_detail_sx(test))
# Full page render (direct navigation / refresh)
from shared.sx.page import get_template_context
from sxc.pages import render_test_detail_page_sx
from sxc.pages.renders import render_test_detail_page_sx
ctx = await get_template_context()
html = await render_test_detail_page_sx(ctx, test)
@@ -78,7 +78,7 @@ def register(url_prefix: str = "/") -> Blueprint:
async def results():
"""HTMX partial — poll target for results table."""
from shared.browser.app.csrf import generate_csrf_token
from sxc.pages import render_results_partial_sx
from sxc.pages.renders import render_results_partial_sx
import runner
result = runner.get_results()