All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m20s
Replace all 676 inline sexp() string calls across 7 services with render(component_name, **kwargs) calls backed by 46 external .sexpr component definition files (587 defcomps total). - Add render() function to shared/sexp/jinja_bridge.py - Add load_service_components() helper and update load_sexp_dir() for *.sexpr - Update parser keyword regex to support HTMX hx-on::event syntax - Convert remaining inline HTML in route files to render() calls - Add shared/sexp/templates/misc.sexp for cross-service utility components Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
1.4 KiB
Plaintext
35 lines
1.4 KiB
Plaintext
;; Blog header components
|
|
|
|
(defcomp ~blog-oob-header (&key parent-id child-id row-html)
|
|
(div :id parent-id :hx-swap-oob "outerHTML" :class "w-full"
|
|
(div :class "w-full" (raw! row-html)
|
|
(div :id child-id))))
|
|
|
|
(defcomp ~blog-header-label ()
|
|
(div))
|
|
|
|
(defcomp ~blog-post-label (&key feature-image title)
|
|
(<> (when feature-image (img :src feature-image :class "h-8 w-8 rounded-full object-cover border border-stone-300 flex-shrink-0"))
|
|
(span title)))
|
|
|
|
(defcomp ~blog-post-cart-link (&key href count)
|
|
(a :href href :class "relative inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-full border border-emerald-300 bg-emerald-50 text-emerald-800 hover:bg-emerald-100 transition"
|
|
(i :class "fa fa-shopping-cart" :aria-hidden "true")
|
|
(span count)))
|
|
|
|
(defcomp ~blog-container-nav (&key container-nav-html)
|
|
(div :class "flex flex-col sm:flex-row sm:items-center gap-2 border-r border-stone-200 mr-2 sm:max-w-2xl"
|
|
:id "entries-calendars-nav-wrapper" (raw! container-nav-html)))
|
|
|
|
(defcomp ~blog-admin-label ()
|
|
(<> (i :class "fa fa-shield-halved" :aria-hidden "true") " admin"))
|
|
|
|
(defcomp ~blog-admin-nav-item (&key href nav-btn-class label)
|
|
(div :class "relative nav-group" (a :href href :class nav-btn-class label)))
|
|
|
|
(defcomp ~blog-sub-settings-label (&key icon label)
|
|
(<> (i :class icon :aria-hidden "true") " " label))
|
|
|
|
(defcomp ~blog-sub-admin-label (&key icon label)
|
|
(<> (i :class icon :aria-hidden "true") (div label)))
|