- 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>
22 lines
929 B
Plaintext
22 lines
929 B
Plaintext
;; Blog header components
|
|
|
|
(defcomp ~blog-container-nav (&key container-nav)
|
|
(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" container-nav))
|
|
|
|
(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 is-selected select-colours)
|
|
(div :class "relative nav-group"
|
|
(a :href href
|
|
:aria-selected (when is-selected "true")
|
|
:class (str (or nav-btn-class "justify-center cursor-pointer flex flex-row items-center gap-2 rounded bg-stone-200 text-black p-3") " " (or select-colours ""))
|
|
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)))
|