diff --git a/src/App.tsx b/src/App.tsx
index 7a9dee5..8def355 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1234,10 +1234,13 @@ function App() {
{activePage}
+
+
- {/* KeepAlive: EcommercePage stays mounted once visited */}
- {ecommerceEverMounted && (
-
+ {/* KeepAlive: EcommercePage stays mounted once visited, hidden via display:none */}
+ {ecommerceEverMounted && (
+
+
setPendingEcommerceTemplate(null)}
/>
-
- )}
-
-
+
+
+ )}
{loginPromptOpen && pendingAction ? (
diff --git a/src/styles/shell/app-shell.css b/src/styles/shell/app-shell.css
index 5f7dd13..d8519d9 100644
--- a/src/styles/shell/app-shell.css
+++ b/src/styles/shell/app-shell.css
@@ -559,12 +559,20 @@
}
.web-shell__page {
+ position: relative;
flex: 1;
min-height: 0;
overflow: auto;
scrollbar-color: rgba(var(--accent-rgb), 0.42) transparent;
}
+.keepalive-ecommerce {
+ position: absolute;
+ inset: 0;
+ z-index: 1;
+ overflow: hidden;
+}
+
/* ── Info button & popover ────────────────────── */
.info-button {
display: inline-grid;