Files
mono/events/sxc/pages/events.sx
giles c243d17eeb Migrate all apps to defpage declarative page routes
Replace Python GET page handlers with declarative defpage definitions in .sx
files across all 8 apps (sx docs, orders, account, market, cart, federation,
events, blog). Each app now has sxc/pages/ with setup functions, layout
registrations, page helpers, and .sx defpage declarations.

Core infrastructure: add g I/O primitive, PageDef support for auth/layout/
data/content/filter/aside/menu slots, post_author auth level, and custom
layout registration. Remove ~1400 lines of render_*_page/render_*_oob
boilerplate. Update all endpoint references in routes, sx_components, and
templates to defpage_* naming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:52:34 +00:00

90 lines
1.9 KiB
Plaintext

;; Events pages — mounted on various nested blueprints
;; Calendar admin (mounted on calendar.admin bp)
(defpage calendar-admin
:path "/"
:auth :admin
:layout :events-calendar-admin
:content (calendar-admin-content))
;; Day admin (mounted on day.admin bp)
(defpage day-admin
:path "/"
:auth :admin
:layout :events-day-admin
:content (day-admin-content))
;; Slots listing (mounted on slots bp)
(defpage slots-listing
:path "/"
:auth :public
:layout :events-slots
:content (slots-content))
;; Slot detail (mounted on slot bp)
(defpage slot-detail
:path "/"
:auth :admin
:layout :events-slot
:content (slot-content))
;; Entry detail (mounted on calendar_entry bp)
(defpage entry-detail
:path "/"
:auth :admin
:layout :events-entry
:content (entry-content)
:menu (entry-menu))
;; Entry admin (mounted on calendar_entry.admin bp)
(defpage entry-admin
:path "/"
:auth :admin
:layout :events-entry-admin
:content (entry-admin-content)
:menu (admin-menu))
;; Ticket types listing (mounted on ticket_types bp)
(defpage ticket-types-listing
:path "/"
:auth :public
:layout :events-ticket-types
:content (ticket-types-content)
:menu (admin-menu))
;; Ticket type detail (mounted on ticket_type bp)
(defpage ticket-type-detail
:path "/"
:auth :admin
:layout :events-ticket-type
:content (ticket-type-content)
:menu (admin-menu))
;; My tickets (mounted on tickets bp)
(defpage my-tickets
:path "/"
:auth :public
:layout :root
:content (tickets-content))
;; Ticket detail (mounted on tickets bp)
(defpage ticket-detail
:path "/<code>/"
:auth :public
:layout :root
:content (ticket-detail-content))
;; Ticket admin dashboard (mounted on ticket_admin bp)
(defpage ticket-admin
:path "/"
:auth :admin
:layout :root
:content (ticket-admin-content))
;; Markets (mounted on markets bp)
(defpage events-markets
:path "/"
:auth :public
:layout :events-markets
:content (markets-content))