Files
rose-ash/orders/sxc/pages/orders.sx
giles b0920a1121 Rename all 1,169 components to path-based names with namespace support
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>
2026-03-12 22:00:12 +00:00

61 lines
2.7 KiB
Plaintext

;; Orders app — declarative page definitions
;; All data fetching via (service ...) IO primitives, no Python helpers.
;; ---------------------------------------------------------------------------
;; Orders list
;; ---------------------------------------------------------------------------
(defpage orders-list
:path "/"
:auth :public
:data (service "orders-page" "list-page-data"
:search (or (request-arg "search") "")
:page (or (request-arg "page" "1") "1"))
:layout (:orders
:list-url (str (route-prefix) (url-for "defpage_orders_list")))
:filter (~shared:orders/list-header
:search-mobile (~shared:controls/search-mobile
:current-local-href "/"
:search (or search "")
:search-count (or search-count "")
:hx-select "#main-panel"
:search-headers-mobile "{\"X-Origin\":\"search-mobile\",\"X-Search\":\"true\"}"))
:aside (~shared:controls/search-desktop
:current-local-href "/"
:search (or search "")
:search-count (or search-count "")
:hx-select "#main-panel"
:search-headers-desktop "{\"X-Origin\":\"search-desktop\",\"X-Search\":\"true\"}")
:content (let* ((pfx (route-prefix))
(detail-url-raw (str pfx (url-for "defpage_order_detail" :order-id 0)))
(detail-prefix (slice detail-url-raw 0 (- (len detail-url-raw) 2)))
(rows-url (str pfx (url-for "orders.orders_rows"))))
(~shared:orders/list-content
:orders orders
:page page
:total-pages total-pages
:rows-url rows-url
:detail-url-prefix detail-prefix)))
;; ---------------------------------------------------------------------------
;; Order detail
;; ---------------------------------------------------------------------------
(defpage order-detail
:path "/<int:order_id>/"
:auth :public
:data (service "orders-page" "detail-page-data" :order-id order-id)
:layout (:order-detail
:list-url (str (route-prefix) (url-for "defpage_orders_list"))
:detail-url (str (route-prefix) (url-for "defpage_order_detail" :order-id order-id)))
:filter (let* ((pfx (route-prefix)))
(~shared:orders/detail-filter-content
:order order
:list-url (str pfx (url-for "defpage_orders_list"))
:recheck-url (str pfx (url-for "orders.order.order_recheck" :order-id order-id))
:pay-url (str pfx (url-for "orders.order.order_pay" :order-id order-id))
:csrf (csrf-token)))
:content (~shared:orders/detail-content
:order order
:calendar-entries calendar-entries))