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:
@@ -24,3 +24,10 @@
|
||||
(div :id (str "entry-title-" entry-id) :class "flex gap-1 items-center"
|
||||
title times))
|
||||
|
||||
(defcomp ~events-slot-label (&key name description)
|
||||
(div :class "flex flex-col md:flex-row md:gap-2 items-center"
|
||||
(div :class "flex flex-row items-center gap-2"
|
||||
(i :class "fa fa-clock")
|
||||
(div :class "shrink-0" name))
|
||||
(p :class "text-stone-500 whitespace-pre-line break-all w-full" description)))
|
||||
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
;; Events layout defcomps — root header from env free variables,
|
||||
;; Events layout defcomps — root header via ~root-header-auto,
|
||||
;; events-specific headers passed as &key params.
|
||||
|
||||
;; --- Calendar admin layout: root + post + child(admin + cal + cal-admin) ---
|
||||
|
||||
(defcomp ~events-cal-admin-layout-full (&key post-header admin-header
|
||||
calendar-header calendar-admin-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
post-header
|
||||
(~header-child-sx :inner (<> admin-header calendar-header calendar-admin-header))))
|
||||
|
||||
@@ -23,9 +21,7 @@
|
||||
|
||||
(defcomp ~events-slot-layout-full (&key post-header admin-header
|
||||
calendar-header calendar-admin-header slot-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
post-header
|
||||
(~header-child-sx :inner (<> admin-header calendar-header calendar-admin-header slot-header))))
|
||||
|
||||
@@ -36,9 +32,7 @@
|
||||
|
||||
(defcomp ~events-day-admin-layout-full (&key post-header admin-header
|
||||
calendar-header day-header day-admin-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
post-header
|
||||
(~header-child-sx :inner (<> admin-header calendar-header day-header day-admin-header))))
|
||||
|
||||
@@ -48,9 +42,7 @@
|
||||
;; --- Entry layout: root + child(post + cal + day + entry) ---
|
||||
|
||||
(defcomp ~events-entry-layout-full (&key post-header calendar-header day-header entry-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
(~header-child-sx :inner (<> post-header calendar-header day-header entry-header))))
|
||||
|
||||
(defcomp ~events-entry-layout-oob (&key day-oob entry-oob-wrap clear-oob)
|
||||
@@ -61,9 +53,7 @@
|
||||
(defcomp ~events-entry-admin-layout-full (&key post-header admin-header
|
||||
calendar-header day-header
|
||||
entry-header entry-admin-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
post-header
|
||||
(~header-child-sx :inner (<> admin-header calendar-header day-header
|
||||
entry-header entry-admin-header))))
|
||||
@@ -76,9 +66,7 @@
|
||||
(defcomp ~events-ticket-types-layout-full (&key post-header calendar-header day-header
|
||||
entry-header entry-admin-header
|
||||
ticket-types-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
(~header-child-sx :inner (<> post-header calendar-header day-header
|
||||
entry-header entry-admin-header ticket-types-header))))
|
||||
|
||||
@@ -90,9 +78,7 @@
|
||||
(defcomp ~events-ticket-type-layout-full (&key post-header calendar-header day-header
|
||||
entry-header entry-admin-header
|
||||
ticket-types-header ticket-type-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
(~header-child-sx :inner (<> post-header calendar-header day-header
|
||||
entry-header entry-admin-header
|
||||
ticket-types-header ticket-type-header))))
|
||||
@@ -103,9 +89,7 @@
|
||||
;; --- Markets layout: root + child(post + markets) ---
|
||||
|
||||
(defcomp ~events-markets-layout-full (&key post-header markets-header)
|
||||
(<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title
|
||||
:app-label app-label :nav-tree nav-tree :auth-menu auth-menu
|
||||
:nav-panel nav-panel :settings-url settings-url :is-admin is-admin)
|
||||
(<> (~root-header-auto)
|
||||
(~header-child-sx :inner (<> post-header markets-header))))
|
||||
|
||||
(defcomp ~events-markets-layout-oob (&key post-oob markets-oob-wrap)
|
||||
|
||||
Reference in New Issue
Block a user