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

@@ -7,8 +7,8 @@
:auth :admin
:layout :events-calendar-admin
:data (calendar-admin-data calendar-slug)
:content (~events-calendar-admin-panel
:description-content (~events-calendar-description-display
:content (~admin/calendar-admin-panel
:description-content (~calendar/description-display
:description cal-description :edit-url desc-edit-url)
:csrf csrf :description cal-description))
@@ -18,7 +18,7 @@
:auth :admin
:layout :events-day-admin
:data (day-admin-data calendar-slug year month day)
:content (~events-day-admin-panel))
:content (~day/admin-panel))
;; Slots listing
(defpage slots-listing
@@ -26,25 +26,25 @@
:auth :public
:layout :events-slots
:data (slots-data calendar-slug)
:content (~events-slots-table
:content (~page/slots-table
:list-container list-container
:rows (if has-slots
(<> (map (fn (s)
(~events-slots-row
(~page/slots-row
:tr-cls tr-cls :slot-href (get s "slot-href")
:pill-cls pill-cls :hx-select hx-select
:slot-name (get s "name") :description (get s "description")
:flexible (get s "flexible")
:days (if (get s "has-days")
(~events-slot-days-pills :days-inner
(<> (map (fn (d) (~events-slot-day-pill :day d)) (get s "day-list"))))
(~events-slot-no-days))
(~page/slot-days-pills :days-inner
(<> (map (fn (d) (~page/slot-day-pill :day d)) (get s "day-list"))))
(~page/slot-no-days))
:time-str (get s "time-str")
:cost-str (get s "cost-str") :action-btn action-btn
:del-url (get s "del-url")
:csrf-hdr csrf-hdr))
slots-list))
(~events-slots-empty-row))
(~page/slots-empty-row))
:pre-action pre-action :add-url add-url))
;; Slot detail
@@ -53,13 +53,13 @@
:auth :admin
:layout :events-slot
:data (slot-data calendar-slug slot-id)
:content (~events-slot-panel
:content (~page/slot-panel
:slot-id slot-id-str
:list-container list-container
:days (if has-days
(~events-slot-days-pills :days-inner
(<> (map (fn (d) (~events-slot-day-pill :day d)) day-list)))
(~events-slot-no-days))
(~page/slot-days-pills :days-inner
(<> (map (fn (d) (~page/slot-day-pill :day d)) day-list)))
(~page/slot-no-days))
:flexible flexible
:time-str time-str :cost-str cost-str
:pre-action pre-action :edit-url edit-url))
@@ -70,29 +70,29 @@
:auth :admin
:layout :events-entry
:data (entry-data calendar-slug entry-id)
:content (~events-entry-panel
:content (~admin/entry-panel
:entry-id entry-id-str :list-container list-container
:name (~events-entry-field :label "Name"
:content (~events-entry-name-field :name entry-name))
:slot (~events-entry-field :label "Slot"
:name (~admin/entry-field :label "Name"
:content (~admin/entry-name-field :name entry-name))
:slot (~admin/entry-field :label "Slot"
:content (if has-slot
(~events-entry-slot-assigned :slot-name slot-name :flex-label flex-label)
(~events-entry-slot-none)))
:time (~events-entry-field :label "Time Period"
:content (~events-entry-time-field :time-str time-str))
:state (~events-entry-field :label "State"
:content (~events-entry-state-field :entry-id entry-id-str
:badge (~badge :cls state-badge-cls :label state-badge-label)))
:cost (~events-entry-field :label "Cost"
:content (~events-entry-cost-field :cost cost-str))
:tickets (~events-entry-field :label "Tickets"
:content (~events-entry-tickets-field :entry-id entry-id-str
(~admin/entry-slot-assigned :slot-name slot-name :flex-label flex-label)
(~admin/entry-slot-none)))
:time (~admin/entry-field :label "Time Period"
:content (~admin/entry-time-field :time-str time-str))
:state (~admin/entry-field :label "State"
:content (~admin/entry-state-field :entry-id entry-id-str
:badge (~shared:misc/badge :cls state-badge-cls :label state-badge-label)))
:cost (~admin/entry-field :label "Cost"
:content (~admin/entry-cost-field :cost cost-str))
:tickets (~admin/entry-field :label "Tickets"
:content (~admin/entry-tickets-field :entry-id entry-id-str
:tickets-config tickets-config))
:buy buy-form
:date (~events-entry-field :label "Date"
:content (~events-entry-date-field :date-str date-str))
:posts (~events-entry-field :label "Associated Posts"
:content (~events-entry-posts-field :entry-id entry-id-str
:date (~admin/entry-field :label "Date"
:content (~admin/entry-date-field :date-str date-str))
:posts (~admin/entry-field :label "Associated Posts"
:content (~admin/entry-posts-field :entry-id entry-id-str
:posts-panel posts-panel))
:options options-html
:pre-action pre-action :edit-url edit-url)
@@ -104,9 +104,9 @@
:auth :admin
:layout :events-entry-admin
:data (entry-admin-data calendar-slug entry-id year month day)
:content (~nav-link :href ticket-types-href :label "ticket_types"
:content (~shared:layout/nav-link :href ticket-types-href :label "ticket_types"
:select-colours select-colours :aclass nav-btn :is-selected false)
:menu (~events-admin-placeholder-nav))
:menu (~forms/admin-placeholder-nav))
;; Ticket types listing
(defpage ticket-types-listing
@@ -114,11 +114,11 @@
:auth :public
:layout :events-ticket-types
:data (ticket-types-data calendar-slug entry-id year month day)
:content (~events-ticket-types-table
:content (~page/ticket-types-table
:list-container list-container
:rows (if has-types
(<> (map (fn (tt)
(~events-ticket-types-row
(~page/ticket-types-row
:tr-cls tr-cls :tt-href (get tt "tt-href")
:pill-cls pill-cls :hx-select hx-select
:tt-name (get tt "tt-name") :cost-str (get tt "cost-str")
@@ -126,9 +126,9 @@
:del-url (get tt "del-url")
:csrf-hdr csrf-hdr))
types-list))
(~events-ticket-types-empty-row))
(~page/ticket-types-empty-row))
:action-btn action-btn :add-url add-url)
:menu (~events-admin-placeholder-nav))
:menu (~forms/admin-placeholder-nav))
;; Ticket type detail
(defpage ticket-type-detail
@@ -136,13 +136,13 @@
:auth :admin
:layout :events-ticket-type
:data (ticket-type-data calendar-slug entry-id ticket-type-id year month day)
:content (~events-ticket-type-panel
:content (~page/ticket-type-panel
:ticket-id ticket-id :list-container list-container
:c1 (~events-ticket-type-col :label "Name" :value tt-name)
:c2 (~events-ticket-type-col :label "Cost" :value cost-str)
:c3 (~events-ticket-type-col :label "Count" :value count-str)
:c1 (~page/ticket-type-col :label "Name" :value tt-name)
:c2 (~page/ticket-type-col :label "Cost" :value cost-str)
:c3 (~page/ticket-type-col :label "Count" :value count-str)
:pre-action pre-action :edit-url edit-url)
:menu (~events-admin-placeholder-nav))
:menu (~forms/admin-placeholder-nav))
;; My tickets
(defpage my-tickets
@@ -150,16 +150,16 @@
:auth :public
:layout :root
:data (tickets-data)
:content (~events-tickets-panel
:content (~tickets/panel
:list-container list-container
:has-tickets has-tickets
:cards (when has-tickets
(<> (map (fn (t)
(~events-ticket-card
(~tickets/card
:href (get t "href") :entry-name (get t "entry-name")
:type-name (get t "type-name") :time-str (get t "time-str")
:cal-name (get t "cal-name")
:badge (~badge :cls (get t "badge-cls") :label (get t "badge-label"))
:badge (~shared:misc/badge :cls (get t "badge-cls") :label (get t "badge-label"))
:code-prefix (get t "code-prefix")))
tickets-list)))))
@@ -169,7 +169,7 @@
:auth :public
:layout :root
:data (ticket-detail-data code)
:content (~events-ticket-detail
:content (~tickets/detail
:list-container list-container :back-href back-href
:header-bg header-bg :entry-name entry-name
:badge (span :class (str "inline-flex items-center rounded-full px-3 py-1 text-sm font-medium " badge-cls)
@@ -185,10 +185,10 @@
:auth :admin
:layout :root
:data (ticket-admin-data)
:content (~events-ticket-admin-panel
:content (~tickets/admin-panel
:list-container list-container
:stats (<> (map (fn (s)
(~events-ticket-admin-stat
(~tickets/admin-stat
:border (get s "border") :bg (get s "bg")
:text-cls (get s "text-cls") :label-cls (get s "label-cls")
:value (get s "value") :label (get s "label")))
@@ -196,18 +196,18 @@
:lookup-url lookup-url :has-tickets has-tickets
:rows (when has-tickets
(<> (map (fn (t)
(~events-ticket-admin-row
(~tickets/admin-row
:code (get t "code") :code-short (get t "code-short")
:entry-name (get t "entry-name")
:date (when (get t "date-str")
(~events-ticket-admin-date :date-str (get t "date-str")))
(~tickets/admin-date :date-str (get t "date-str")))
:type-name (get t "type-name")
:badge (~badge :cls (get t "badge-cls") :label (get t "badge-label"))
:badge (~shared:misc/badge :cls (get t "badge-cls") :label (get t "badge-label"))
:action (if (get t "can-checkin")
(~events-ticket-admin-checkin-form
(~tickets/admin-checkin-form
:checkin-url (get t "checkin-url") :code (get t "code") :csrf csrf)
(when (get t "is-checked-in")
(~events-ticket-admin-checked-in :time-str (get t "checkin-time"))))))
(~tickets/admin-checked-in :time-str (get t "checkin-time"))))))
admin-tickets)))))
;; Markets
@@ -216,20 +216,20 @@
:auth :public
:layout :events-markets
:data (markets-data)
:content (~crud-panel
:content (~shared:misc/crud-panel
:list-id "markets-list"
:form (when can-create
(~crud-create-form :create-url create-url :csrf csrf
(~shared:misc/crud-create-form :create-url create-url :csrf csrf
:errors-id "market-create-errors" :list-id "markets-list"
:placeholder "e.g. Farm Shop, Bakery" :btn-label "Add market"))
:list (if markets-list
(<> (map (fn (m)
(~crud-item :href (get m "href") :name (get m "name")
(~shared:misc/crud-item :href (get m "href") :name (get m "name")
:slug (get m "slug") :del-url (get m "del-url")
:csrf-hdr (get m "csrf-hdr")
:list-id "markets-list"
:confirm-title "Delete market?"
:confirm-text "Products will be hidden (soft delete)"))
markets-list))
(~empty-state :message "No markets yet. Create one above."
(~shared:misc/empty-state :message "No markets yet. Create one above."
:cls "text-gray-500 mt-4"))))

View File

@@ -117,7 +117,7 @@ def _cart_icon_oob(count: int) -> str:
def _cart_icon_ctx(count: int) -> dict:
"""Return data dict for the ~events-cart-icon component."""
"""Return data dict for the ~page/cart-icon component."""
from quart import g
blog_url_fn = getattr(g, "blog_url", None)