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>
This commit is contained in:
2026-03-12 22:00:12 +00:00
parent de80d921e9
commit b0920a1121
209 changed files with 4620 additions and 4620 deletions

View File

@@ -5,25 +5,25 @@
;; Slot picker option (shared by entry-edit and entry-add)
;; ---------------------------------------------------------------------------
(defcomp ~events-slot-option (&key value data-start data-end data-flexible data-cost selected label)
(defcomp ~forms/slot-option (&key value data-start data-end data-flexible data-cost selected label)
(option :value value :data-start data-start :data-end data-end
:data-flexible data-flexible :data-cost data-cost
:selected selected
label))
(defcomp ~events-slot-picker (&key id options)
(defcomp ~forms/slot-picker (&key id options)
(select :id id :name "slot_id" :class "w-full border p-2 rounded"
:data-slot-picker "" :required "required"
options))
(defcomp ~events-no-slots ()
(defcomp ~forms/no-slots ()
(div :class "text-sm text-stone-500" "No slots defined for this day."))
;; ---------------------------------------------------------------------------
;; Entry edit form (_types/entry/_edit.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-entry-edit-form (&key entry-id list-container put-url cancel-url csrf
(defcomp ~forms/entry-edit-form (&key entry-id list-container put-url cancel-url csrf
name-val slot-picker
start-val end-val cost-display
ticket-price-val ticket-count-val
@@ -115,7 +115,7 @@
;; Post search results (_types/entry/_post_search_results.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-post-search-item (&key post-url entry-id csrf post-id
(defcomp ~forms/post-search-item (&key post-url entry-id csrf post-id
img title)
(form :sx-post post-url :sx-target (str "#entry-posts-" entry-id) :sx-swap "innerHTML"
:class "p-2 hover:bg-stone-50 cursor-pointer rounded text-sm border-b"
@@ -129,7 +129,7 @@
:data-confirm-cancel-text "Cancel"
img (span title))))
(defcomp ~events-post-search-sentinel (&key page next-url)
(defcomp ~forms/post-search-sentinel (&key page next-url)
(div :id (str "post-search-sentinel-" page)
:sx-get next-url
:sx-trigger "intersect once delay:250ms, sentinel:retry"
@@ -172,7 +172,7 @@
(div :class "text-xs text-center text-stone-400 js-loading" "Loading more...")
(div :class "text-xs text-center text-stone-400 js-neterr hidden" "Connection error. Retrying...")))
(defcomp ~events-post-search-end ()
(defcomp ~forms/post-search-end ()
(div :class "py-2 text-xs text-center text-stone-400" "End of results"))
@@ -180,17 +180,17 @@
;; Slot edit form (_types/slot/_edit.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-day-checkbox (&key name label checked)
(defcomp ~forms/day-checkbox (&key name label checked)
(label :class "flex items-center gap-1 px-2 py-1 rounded-full bg-slate-100"
(input :type "checkbox" :name name :value "1" :data-day name :checked checked)
(span label)))
(defcomp ~events-day-all-checkbox (&key checked)
(defcomp ~forms/day-all-checkbox (&key checked)
(label :class "flex items-center gap-1 px-2 py-1 rounded-full bg-slate-200"
(input :type "checkbox" :data-day-all "" :checked checked)
(span "All")))
(defcomp ~events-slot-edit-form (&key slot-id list-container put-url cancel-url csrf
(defcomp ~forms/slot-edit-form (&key slot-id list-container put-url cancel-url csrf
name-val cost-val start-val end-val desc-val
days flexible-checked
action-btn cancel-btn)
@@ -271,7 +271,7 @@
;; Slot add form (_types/slots/_add.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-slot-add-form (&key post-url csrf days action-btn cancel-btn cancel-url)
(defcomp ~forms/slot-add-form (&key post-url csrf days action-btn cancel-btn cancel-url)
(form :sx-post post-url :sx-target "#slots-table" :sx-select "#slots-table"
:sx-disinherit "sx-select" :sx-swap "outerHTML"
:sx-headers csrf :class "space-y-3"
@@ -312,7 +312,7 @@
:data-confirm-cancel-text "Cancel"
(i :class "fa fa-save") " Save slot"))))
(defcomp ~events-slot-add-button (&key pre-action add-url)
(defcomp ~forms/slot-add-button (&key pre-action add-url)
(button :type "button" :class pre-action
:sx-get add-url :sx-target "#slot-add-container" :sx-swap "innerHTML"
"+ Add slot"))
@@ -323,20 +323,20 @@
;; ---------------------------------------------------------------------------
;; Day checkboxes from data — replaces Python loop
(defcomp ~events-day-checkboxes-from-data (&key days-data all-checked)
(defcomp ~forms/day-checkboxes-from-data (&key days-data all-checked)
(<>
(~events-day-all-checkbox :checked (when all-checked "checked"))
(~forms/day-all-checkbox :checked (when all-checked "checked"))
(map (lambda (d)
(~events-day-checkbox
(~forms/day-checkbox
:name (get d "name")
:label (get d "label")
:checked (when (get d "checked") "checked")))
(or days-data (list)))))
;; Slot options from data — replaces _slot_options_html Python loop
(defcomp ~events-slot-options-from-data (&key slots)
(defcomp ~forms/slot-options-from-data (&key slots)
(<> (map (lambda (s)
(~events-slot-option
(~forms/slot-option
:value (get s "value")
:data-start (get s "data-start")
:data-end (get s "data-end")
@@ -347,32 +347,32 @@
(or slots (list)))))
;; Slot picker from data — wraps picker + options
(defcomp ~events-slot-picker-from-data (&key id slots)
(defcomp ~forms/slot-picker-from-data (&key id slots)
(if (empty? (or slots (list)))
(~events-no-slots)
(~events-slot-picker
(~forms/no-slots)
(~forms/slot-picker
:id id
:options (~events-slot-options-from-data :slots slots))))
:options (~forms/slot-options-from-data :slots slots))))
;; Slot edit form from data
(defcomp ~events-slot-edit-form-from-data (&key slot-id list-container put-url cancel-url csrf
(defcomp ~forms/slot-edit-form-from-data (&key slot-id list-container put-url cancel-url csrf
name-val cost-val start-val end-val desc-val
days-data all-checked flexible-checked
action-btn cancel-btn)
(~events-slot-edit-form
(~forms/slot-edit-form
:slot-id slot-id :list-container list-container
:put-url put-url :cancel-url cancel-url :csrf csrf
:name-val name-val :cost-val cost-val :start-val start-val
:end-val end-val :desc-val desc-val
:days (~events-day-checkboxes-from-data :days-data days-data :all-checked all-checked)
:days (~forms/day-checkboxes-from-data :days-data days-data :all-checked all-checked)
:flexible-checked flexible-checked
:action-btn action-btn :cancel-btn cancel-btn))
;; Slot add form from data
(defcomp ~events-slot-add-form-from-data (&key post-url csrf days-data action-btn cancel-btn cancel-url)
(~events-slot-add-form
(defcomp ~forms/slot-add-form-from-data (&key post-url csrf days-data action-btn cancel-btn cancel-url)
(~forms/slot-add-form
:post-url post-url :csrf csrf
:days (~events-day-checkboxes-from-data :days-data days-data)
:days (~forms/day-checkboxes-from-data :days-data days-data)
:action-btn action-btn :cancel-btn cancel-btn :cancel-url cancel-url))
@@ -380,7 +380,7 @@
;; Entry add form (_types/day/_add.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-entry-add-form (&key post-url csrf slot-picker
(defcomp ~forms/entry-add-form (&key post-url csrf slot-picker
action-btn cancel-btn cancel-url)
(<>
(div :id "entry-errors" :class "mt-2 text-sm text-red-600")
@@ -446,7 +446,7 @@
:data-confirm-cancel-text "Cancel"
(i :class "fa fa-save") " Save entry")))))
(defcomp ~events-entry-add-button (&key pre-action add-url)
(defcomp ~forms/entry-add-button (&key pre-action add-url)
(button :type "button" :class pre-action
:sx-get add-url :sx-target "#entry-add-container" :sx-swap "innerHTML"
"+ Add entry"))
@@ -456,7 +456,7 @@
;; Ticket type edit form (_types/ticket_type/_edit.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-ticket-type-edit-form (&key ticket-id list-container put-url cancel-url csrf
(defcomp ~forms/ticket-type-edit-form (&key ticket-id list-container put-url cancel-url csrf
name-val cost-val count-val
action-btn cancel-btn)
(section :id (str "ticket-" ticket-id) :class list-container
@@ -509,7 +509,7 @@
;; Ticket type add form (_types/ticket_types/_add.html)
;; ---------------------------------------------------------------------------
(defcomp ~events-ticket-type-add-form (&key post-url csrf action-btn cancel-btn cancel-url)
(defcomp ~forms/ticket-type-add-form (&key post-url csrf action-btn cancel-btn cancel-url)
(form :sx-post post-url :sx-target "#tickets-table" :sx-select "#tickets-table"
:sx-disinherit "sx-select" :sx-swap "outerHTML"
:sx-headers csrf :class "space-y-3"
@@ -540,7 +540,7 @@
:data-confirm-cancel-text "Cancel"
(i :class "fa fa-save") " Save ticket type"))))
(defcomp ~events-ticket-type-add-button (&key action-btn add-url)
(defcomp ~forms/ticket-type-add-button (&key action-btn add-url)
(button :class action-btn
:sx-get add-url :sx-target "#ticket-add-container" :sx-swap "innerHTML"
(i :class "fa fa-plus") " Add ticket type"))
@@ -550,6 +550,6 @@
;; Entry admin nav — placeholder
;; ---------------------------------------------------------------------------
(defcomp ~events-admin-placeholder-nav ()
(defcomp ~forms/admin-placeholder-nav ()
(div :class "relative nav-group"
(span :class "block px-3 py-2 text-stone-400 text-sm italic" "Admin options")))