Delete market sx_components.py — move all rendering to sxc/pages
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 32s

Phase 6 of the zero-Python-rendering plan. All 46 rendering functions
move from market/sx/sx_components.py into market/sxc/pages/__init__.py.
Route handlers import from sxc.pages instead. load_service_components
call moves into _load_market_page_files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 11:08:44 +00:00
parent 8578eb525e
commit 049796c391
8 changed files with 1529 additions and 1590 deletions

View File

@@ -1,6 +1,6 @@
from __future__ import annotations
import path_setup # noqa: F401 # adds shared/ to sys.path
import sx.sx_components as sx_components # noqa: F401 # ensure Hypercorn --reload watches this file
from pathlib import Path

View File

@@ -46,7 +46,7 @@ def register() -> Blueprint:
page = int(request.args.get("page", 1))
markets, has_more, page_info = await _load_markets(page)
from sx.sx_components import render_all_markets_cards
from sxc.pages import render_all_markets_cards
sx_src = await render_all_markets_cards(markets, has_more, page_info, page)
return sx_response(sx_src)

View File

@@ -49,7 +49,7 @@ def register():
full_context = {**product_info, **ctx}
from shared.sx.page import get_template_context
from sx.sx_components import render_browse_page, render_browse_oob, render_browse_cards
from sxc.pages import render_browse_page, render_browse_oob, render_browse_cards
tctx = await get_template_context()
tctx.update(full_context)
@@ -90,7 +90,7 @@ def register():
full_context = {**product_info, **ctx}
from shared.sx.page import get_template_context
from sx.sx_components import render_browse_page, render_browse_oob, render_browse_cards
from sxc.pages import render_browse_page, render_browse_oob, render_browse_cards
tctx = await get_template_context()
tctx.update(full_context)
@@ -131,7 +131,7 @@ def register():
full_context = {**product_info, **ctx}
from shared.sx.page import get_template_context
from sx.sx_components import render_browse_page, render_browse_oob, render_browse_cards
from sxc.pages import render_browse_page, render_browse_oob, render_browse_cards
tctx = await get_template_context()
tctx.update(full_context)

View File

@@ -47,7 +47,7 @@ def register():
return await make_response(render_comp("error-inline", message=str(e)), 422)
from shared.sx.page import get_template_context
from sx.sx_components import render_markets_admin_list_panel
from sxc.pages import render_markets_admin_list_panel
ctx = await get_template_context()
html = await render_markets_admin_list_panel(ctx)
return sx_response(html)
@@ -65,7 +65,7 @@ def register():
await services.market.soft_delete_marketplace(g.s, "page", post_id, market_slug)
from shared.sx.page import get_template_context
from sx.sx_components import render_markets_admin_list_panel
from sxc.pages import render_markets_admin_list_panel
ctx = await get_template_context()
html = await render_markets_admin_list_panel(ctx)
return sx_response(html)

View File

@@ -30,7 +30,7 @@ def register() -> Blueprint:
markets, has_more = await _load_markets(post["id"], page)
from sx.sx_components import render_page_markets_cards
from sxc.pages import render_page_markets_cards
post_slug = post.get("slug", "")
sx_src = await render_page_markets_cards(markets, has_more, page, post_slug)
return sx_response(sx_src)

View File

@@ -108,7 +108,7 @@ def register():
from shared.browser.app.utils.htmx import is_htmx_request
from shared.sx.page import get_template_context
from sx.sx_components import render_product_page, render_product_oob
from sxc.pages import render_product_page, render_product_oob
tctx = await get_template_context()
item_data = getattr(g, "item_data", {})
@@ -126,7 +126,7 @@ def register():
async def like_toggle():
product_slug = g.product_slug
from sx.sx_components import render_like_toggle_button
from sxc.pages import render_like_toggle_button
if not g.user:
return sx_response(await render_like_toggle_button(product_slug, False), status=403)
@@ -147,7 +147,7 @@ def register():
from shared.browser.app.utils.htmx import is_htmx_request
from shared.sx.page import get_template_context
from sx.sx_components import render_product_admin_page, render_product_admin_oob
from sxc.pages import render_product_admin_page, render_product_admin_oob
tctx = await get_template_context()
item_data = getattr(g, "item_data", {})
@@ -254,7 +254,7 @@ def register():
# htmx response: OOB-swap mini cart + product buttons
if request.headers.get("SX-Request") == "true" or request.headers.get("HX-Request") == "true":
from sx.sx_components import render_cart_added_response
from sxc.pages import render_cart_added_response
item_data = getattr(g, "item_data", {})
d = item_data.get("d", {})
return sx_response(await render_cart_added_response(g.cart, ci_ns, d))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff