b0920a1121
Rename all 1,169 components to path-based names with namespace support
...
Component names now reflect filesystem location using / as path separator
and : as namespace separator for shared components:
~sx-header → ~layouts/header
~layout-app-body → ~shared:layout/app-body
~blog-admin-dashboard → ~admin/dashboard
209 files, 4,941 replacements across all services.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 22:00:12 +00:00
477ce766ff
Add (param :as type) annotations to defcomp params across all services and templates
...
Annotates ~500 defcomp params across 62 files: market (5), blog (7), cart (5),
events (3), federation (4), account (3), orders (2), shared templates (11),
sx docs (14), plus remaining spec fn params (z3, test-framework, adapter-dom,
adapter-async, engine, eval). Total annotations in codebase: 1043.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 21:01:02 +00:00
436848060d
Merge branch 'worktree-sx-loop-cleanup' into macros
...
# Conflicts:
# blog/sx/sx_components.py
# federation/sx/profile.sx
# federation/sx/sx_components.py
# orders/sx/sx_components.py
2026-03-05 16:08:36 +00:00
c1ad6fd8d4
Replace Python sx_call loops with data-driven SX defcomps using map
...
Move rendering logic from Python for-loops building sx_call strings into
SX defcomp components that use map/lambda over data dicts. Python now
serializes display data into plain dicts and passes them via a single
sx_call; the SX layer handles iteration and conditional rendering.
Covers orders (rows, items, calendar, tickets), federation (timeline,
search, actors, profile activities), and blog (cards, pages, filters,
snippets, menu items, tag groups, page search, nav OOB).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 16:03:29 +00:00
193578ef88
Move SX construction from Python to .sx defcomps (phases 0-4)
...
Eliminate Python s-expression string building across account, orders,
federation, and cart services. Visual rendering logic now lives entirely
in .sx defcomp components; Python files contain only data serialization,
header/layout wiring, and thin wrappers that call defcomps.
Phase 0: Shared DRY extraction — auth/orders header defcomps, format-decimal/
pluralize/escape/route-prefix primitives.
Phase 1: Account — dashboard, newsletters, login/device/check-email content.
Phase 2: Orders — order list, detail, filter, checkout return assembled defcomps.
Phase 3: Federation — social nav, post cards, timeline, search, actors,
notifications, compose, profile assembled defcomps.
Phase 4: Cart — overview, page cart items/calendar/tickets/summary, admin,
payments assembled defcomps; orders rendering reuses Phase 2 shared defcomps.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 22:36:34 +00:00
c0d369eb8e
Refactor SX templates: shared components, Python migration, cleanup
...
Build and Deploy / build-and-deploy (push) Successful in 6m0s
- Extract shared components (empty-state, delete-btn, sentinel, crud-*,
view-toggle, img-or-placeholder, avatar, sumup-settings-form, auth
forms, order tables/detail/checkout)
- Migrate all Python sx_call() callers to use shared components directly
- Remove 55+ thin wrapper defcomps from domain .sx files
- Remove trivial passthrough wrappers (blog-header-label, market-card-text, etc)
- Unify duplicate auth flows (account + federation) into shared/sx/templates/auth.sx
- Unify duplicate order views (cart + orders) into shared/sx/templates/orders.sx
- Disable static file caching in dev (SEND_FILE_MAX_AGE_DEFAULT=0)
- Add SX response validation and debug headers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 20:34:34 +00:00