;; Federation layout defcomps — fully self-contained via IO primitives.
;; Registered via register_sx_layout("social", ...) in __init__.py.

;; Full page: root header + social header in header-child
(defcomp ~social-layout-full ()
  (<> (~root-header-auto)
    (~header-child-sx
      :inner (~federation-social-header
               :nav (~federation-social-nav :actor (federation-actor-ctx))))))

;; OOB (HTMX): social header oob + root header oob
(defcomp ~social-layout-oob ()
  (<> (~oob-header-sx
        :parent-id "root-header-child"
        :row (~federation-social-header
               :nav (~federation-social-nav :actor (federation-actor-ctx))))
    (~root-header-auto true)))
