Component names now reflect filesystem location using / as path separator and : as namespace separator for shared components: ~sx-header → ~layouts/header ~layout-app-body → ~shared:layout/app-body ~blog-admin-dashboard → ~admin/dashboard 209 files, 4,941 replacements across all services. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
1.7 KiB
Plaintext
27 lines
1.7 KiB
Plaintext
;; Cart summary / checkout components
|
|
|
|
(defcomp ~summary/checkout-form (&key (action :as string) (csrf :as string) (label :as string))
|
|
(form :method "post" :action action :class "w-full"
|
|
(input :type "hidden" :name "csrf_token" :value csrf)
|
|
(button :type "submit" :class "w-full inline-flex items-center justify-center px-4 py-2 text-xs sm:text-sm rounded-full border border-emerald-600 bg-emerald-600 text-white hover:bg-emerald-700 transition"
|
|
(i :class "fa-solid fa-credit-card mr-2" :aria-hidden "true") label)))
|
|
|
|
(defcomp ~summary/checkout-signin (&key (href :as string))
|
|
(div :class "w-full flex"
|
|
(a :href href :class "w-full cursor-pointer flex flex-row items-center justify-center p-3 gap-2 rounded bg-stone-200 text-black hover:bg-stone-300 transition"
|
|
(i :class "fa-solid fa-key") (span "sign in or register to checkout"))))
|
|
|
|
(defcomp ~summary/panel (&key (item-count :as string) (subtotal :as string) checkout)
|
|
(aside :id "cart-summary" :class "lg:pl-2"
|
|
(div :class "rounded-2xl bg-white shadow-sm border border-stone-200 p-4 sm:p-5"
|
|
(h2 :class "text-sm sm:text-base font-semibold text-stone-900 mb-3 sm:mb-4" "Order summary")
|
|
(dl :class "space-y-2 text-xs sm:text-sm"
|
|
(div :class "flex items-center justify-between"
|
|
(dt :class "text-stone-600" "Items") (dd :class "text-stone-900" item-count))
|
|
(div :class "flex items-center justify-between"
|
|
(dt :class "text-stone-600" "Subtotal") (dd :class "text-stone-900" subtotal)))
|
|
(div :class "flex flex-col items-center w-full"
|
|
(h1 :class "text-5xl mt-2" "This is a test - it will not take actual money")
|
|
(div "use dummy card number: 5555 5555 5555 4444"))
|
|
(div :class "mt-4 sm:mt-5" checkout))))
|