From 3cce3df5b023f522f9ce8b4eb4cd5f0065e14b40 Mon Sep 17 00:00:00 2001 From: giles Date: Mon, 23 Mar 2026 17:15:57 +0000 Subject: [PATCH] Fix standalone OOB layout: delegate to shared layout for proper OOB swaps The standalone OOB layout was returning nil, so SPA navigation responses had no OOB swap structure. The header island wasn't included in responses, so: - Colour state was lost (island not morphed, signals reset) - Copyright path wasn't updated (lake not in response) Now delegates to ~shared:layout/oob-sx which wraps content in proper OOB sections (filter, aside, menu, main-panel). The header island with updated :path is included in the content, allowing the morph to preserve island signals and update lakes. Co-Authored-By: Claude Opus 4.6 (1M context) --- sx/sx/layouts.sx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sx/sx/layouts.sx b/sx/sx/layouts.sx index cf412a0..666fa46 100644 --- a/sx/sx/layouts.sx +++ b/sx/sx/layouts.sx @@ -168,9 +168,10 @@ (defcomp ~layouts/standalone-docs-layout-full () nil) -;; Standalone OOB: nothing needed — nav is in content. -(defcomp ~layouts/standalone-docs-layout-oob () - nil) +;; Standalone OOB: delegate to shared layout for proper OOB swap structure. +;; The content (with nav + header island) goes into #main-panel via sx-swap-oob. +(defcomp ~layouts/standalone-docs-layout-oob (&key content) :affinity :server + (~shared:layout/oob-sx :content content)) ;; Standalone mobile: nothing — nav is in content. (defcomp ~layouts/standalone-docs-layout-mobile ()