Replace env free-variable threading with IO-primitive auto-fetch macros
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m38s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m38s
Layout components now self-resolve context (cart-mini, auth-menu, nav-tree, rights, URLs) via new IO primitives (root-header-ctx, select-colours, account-nav-ctx, app-rights) and defmacro wrappers (~root-header-auto, ~auth-header-row-auto, ~root-mobile-auto). This eliminates _ctx_to_env(), HELPER_CSS_CLASSES, and verbose :key threading across all 10 services. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,27 @@
|
||||
:link-label "account" :icon "fa-solid fa-user"
|
||||
:child-id "auth-header-child" :oob oob))
|
||||
|
||||
;; Auto-fetching auth header — uses IO primitives, no free variables needed.
|
||||
;; Expands inline (defmacro) so IO calls resolve in _aser mode.
|
||||
(defmacro ~auth-header-row-auto (oob)
|
||||
(quasiquote
|
||||
(~auth-header-row :account-url (app-url "account" "")
|
||||
:select-colours (select-colours)
|
||||
:account-nav (account-nav-ctx)
|
||||
:oob (unquote oob))))
|
||||
|
||||
(defmacro ~auth-header-row-simple-auto (oob)
|
||||
(quasiquote
|
||||
(~auth-header-row-simple :account-url (app-url "account" "")
|
||||
:oob (unquote oob))))
|
||||
|
||||
;; Auto-fetching auth nav items — for mobile menus
|
||||
(defmacro ~auth-nav-items-auto ()
|
||||
(quasiquote
|
||||
(~auth-nav-items :account-url (app-url "account" "")
|
||||
:select-colours (select-colours)
|
||||
:account-nav (account-nav-ctx))))
|
||||
|
||||
;; Orders header row
|
||||
(defcomp ~orders-header-row (&key list-url)
|
||||
(~menu-row-sx :id "orders-row" :level 2 :colour "sky"
|
||||
|
||||
Reference in New Issue
Block a user