Layout defcomps are now fully self-contained via IO-primitive auto-fetch macros, eliminating Python layout functions that manually threaded context values through SxExpr wrappers. Services converted: - Federation (1 layout): social - Blog (7 layouts): blog, blog-settings, blog-cache, blog-snippets, blog-menu-items, blog-tag-groups, blog-tag-group-edit - SX docs (2 layouts): sx, sx-section - Cart (2 layouts): cart-page, cart-admin + orders/order-detail - Events (9 layouts): calendar-admin, slots, slot, day-admin, entry, entry-admin, ticket-types, ticket-type, markets - Market (2 layouts): market, market-admin New IO primitives added to shared/sx/primitives_io.py: - federation-actor-ctx, cart-page-ctx, request-view-args - events-calendar-ctx, events-day-ctx, events-entry-ctx, events-slot-ctx, events-ticket-type-ctx - market-header-ctx (pre-builds desktop/mobile nav as SxExpr) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20 lines
1.0 KiB
Python
20 lines
1.0 KiB
Python
"""Blog layout registration — all layouts delegate to .sx defcomps."""
|
|
from __future__ import annotations
|
|
|
|
|
|
def _register_blog_layouts() -> None:
|
|
from shared.sx.layouts import register_sx_layout
|
|
register_sx_layout("blog", "blog-layout-full", "blog-layout-oob")
|
|
register_sx_layout("blog-settings", "blog-settings-layout-full",
|
|
"blog-settings-layout-oob", "blog-settings-layout-mobile")
|
|
register_sx_layout("blog-cache", "blog-cache-layout-full",
|
|
"blog-cache-layout-oob")
|
|
register_sx_layout("blog-snippets", "blog-snippets-layout-full",
|
|
"blog-snippets-layout-oob")
|
|
register_sx_layout("blog-menu-items", "blog-menu-items-layout-full",
|
|
"blog-menu-items-layout-oob")
|
|
register_sx_layout("blog-tag-groups", "blog-tag-groups-layout-full",
|
|
"blog-tag-groups-layout-oob")
|
|
register_sx_layout("blog-tag-group-edit", "blog-tag-group-edit-layout-full",
|
|
"blog-tag-group-edit-layout-oob")
|