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>
18 lines
844 B
Plaintext
18 lines
844 B
Plaintext
;; Market grid and layout components
|
|
|
|
(defcomp ~market-markets-grid (&key cards)
|
|
(<> (div :class "max-w-full px-3 py-3 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4" cards) (div :class "pb-8")))
|
|
|
|
(defcomp ~market-product-grid (&key cards)
|
|
(<> (div :class "grid grid-cols-1 sm:grid-cols-3 md:grid-cols-6 gap-3" cards) (div :class "pb-8")))
|
|
|
|
(defcomp ~market-admin-content-wrap (&key inner)
|
|
(div :id "main-panel" inner))
|
|
|
|
(defcomp ~market-like-toggle-button (&key colour action hx-headers label icon-cls)
|
|
(button :class (str "flex items-center gap-1 " colour " hover:text-red-600 transition-colors w-[1em] h-[1em]")
|
|
:sx-post action :sx-target "this" :sx-swap "outerHTML" :sx-push-url "false"
|
|
:sx-headers hx-headers
|
|
:sx-swap-settle "0ms" :aria-label label
|
|
(i :aria-hidden "true" :class icon-cls)))
|