diff --git a/shared/tab-cache.ts b/shared/tab-cache.ts index 949f83f..e146a66 100644 --- a/shared/tab-cache.ts +++ b/shared/tab-cache.ts @@ -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); diff --git a/website/public/shell.css b/website/public/shell.css index 7e86db4..7676814 100644 --- a/website/public/shell.css +++ b/website/public/shell.css @@ -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 {