fix(layout): restore flex chain for tab panes after TabCache.init()

TabCache.init() wraps all #app children into a .rspace-tab-pane div,
breaking the flex layout introduced in 2cbff89. Make active panes flex
columns so subnav/tabbar/rapp-content flex properties are respected.
Wrap fragment-loaded content in .rapp-content for consistent scrolling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-03-31 11:57:47 -07:00
parent 0519e113b6
commit 26c07a7672
2 changed files with 11 additions and 2 deletions

View File

@ -255,7 +255,11 @@ export class TabCache {
pane.dataset.moduleId = moduleId;
pane.dataset.spaceSlug = space;
pane.dataset.pageTitle = content.title;
pane.innerHTML = content.body;
// Wrap body in .rapp-content so the flex layout + scrolling works
const contentWrap = document.createElement("div");
contentWrap.className = "rapp-content";
contentWrap.innerHTML = content.body;
pane.appendChild(contentWrap);
app.appendChild(pane);
this.panes.set(key, pane);

View File

@ -551,8 +551,13 @@ body.rstack-sidebar-open #toolbar {
display: none;
}
/* Active panes must be flex columns so subnav/tabbar/rapp-content
flex properties work after TabCache.init() wraps them into a pane */
.rspace-tab-pane--active {
display: block;
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
}
.rspace-tab-loading {