;; Account layout defcomps — read ctx values from env free variables. ;; Registered via register_sx_layout("account", ...) in __init__.py. ;; Free variables come from _ctx_to_env() in shared/sx/helpers.py. ;; Full page: root header + auth header row in header-child (defcomp ~account-layout-full () (<> (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title :app-label app-label :nav-tree nav-tree :auth-menu auth-menu :nav-panel nav-panel :settings-url settings-url :is-admin is-admin) (~header-child-sx :inner (~auth-header-row :account-url account-url :select-colours select-colours :account-nav account-nav)))) ;; OOB (HTMX): auth row + root header, both with oob=true (defcomp ~account-layout-oob () (<> (~auth-header-row :account-url account-url :select-colours select-colours :account-nav account-nav :oob true) (~root-header :cart-mini cart-mini :blog-url blog-url :site-title site-title :app-label app-label :nav-tree nav-tree :auth-menu auth-menu :nav-panel nav-panel :settings-url settings-url :is-admin is-admin :oob true))) ;; Mobile menu: auth section + root nav (defcomp ~account-layout-mobile () (<> (~mobile-menu-section :label "account" :href "/" :level 1 :colour "sky" :items (~auth-nav-items :account-url account-url :select-colours select-colours :account-nav account-nav)) (~root-mobile :nav-tree nav-tree :auth-menu auth-menu)))