Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 85b2016e69 |
+4
-6
@@ -1234,13 +1234,10 @@ function App() {
|
||||
<PageTransition viewKey={activeView}>
|
||||
{activePage}
|
||||
</PageTransition>
|
||||
</Suspense>
|
||||
</ErrorBoundary>
|
||||
|
||||
{/* KeepAlive: EcommercePage stays mounted once visited, hidden via display:none */}
|
||||
{/* KeepAlive: EcommercePage stays mounted once visited */}
|
||||
{ecommerceEverMounted && (
|
||||
<div className="keepalive-ecommerce" style={{ display: isEcommerceActive ? undefined : "none" }}>
|
||||
<Suspense fallback={null}>
|
||||
<div style={{ display: isEcommerceActive ? undefined : "none", position: "absolute", inset: 0, zIndex: 1 }}>
|
||||
<EcommercePage
|
||||
projects={projects}
|
||||
isAuthenticated={Boolean(session)}
|
||||
@@ -1253,9 +1250,10 @@ function App() {
|
||||
initialTemplate={pendingEcommerceTemplate}
|
||||
onInitialTemplateConsumed={() => setPendingEcommerceTemplate(null)}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
)}
|
||||
</Suspense>
|
||||
</ErrorBoundary>
|
||||
|
||||
{loginPromptOpen && pendingAction ? (
|
||||
<div className="login-gate-modal" role="dialog" aria-modal="true" aria-labelledby="login-gate-title">
|
||||
|
||||
@@ -179,9 +179,9 @@
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
background: #101318;
|
||||
padding: 32px 40px;
|
||||
padding: 26px;
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
@@ -735,10 +735,10 @@
|
||||
|
||||
.ecom-video-tree {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
align-items: center;
|
||||
gap: 0;
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* ── Source node ── */
|
||||
@@ -746,9 +746,9 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
flex-shrink: 0;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.ecom-video-tree-node {
|
||||
@@ -762,8 +762,8 @@
|
||||
}
|
||||
|
||||
.ecom-video-tree-node--source {
|
||||
width: 180px;
|
||||
height: 230px;
|
||||
width: 150px;
|
||||
height: 190px;
|
||||
flex-shrink: 0;
|
||||
border-color: #1c4d3a;
|
||||
background: #162820;
|
||||
@@ -785,9 +785,9 @@
|
||||
|
||||
/* ── Text node (分镜文本) ── */
|
||||
.ecom-video-tree-node--text {
|
||||
min-width: 140px;
|
||||
max-width: 170px;
|
||||
padding: 16px 14px;
|
||||
min-width: 120px;
|
||||
max-width: 150px;
|
||||
padding: 14px 12px;
|
||||
cursor: default;
|
||||
border-color: #2a3d30;
|
||||
background: #131d1a;
|
||||
@@ -824,8 +824,8 @@
|
||||
/* ── Image node (分镜图) ── */
|
||||
.ecom-video-tree-node--image,
|
||||
.ecom-video-tree-node--video {
|
||||
width: 170px;
|
||||
height: 136px;
|
||||
width: 150px;
|
||||
height: 120px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -919,7 +919,7 @@
|
||||
/* ── Trunk connector (分支连接线) ── */
|
||||
.ecom-video-tree__trunk {
|
||||
position: relative;
|
||||
width: 56px;
|
||||
width: 48px;
|
||||
flex-shrink: 0;
|
||||
align-self: stretch;
|
||||
}
|
||||
@@ -928,7 +928,7 @@
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
width: 28px;
|
||||
width: 24px;
|
||||
height: 2px;
|
||||
background: #3a4550;
|
||||
transform: translateY(-50%);
|
||||
@@ -948,15 +948,10 @@
|
||||
|
||||
.ecom-video-tree__branches-line {
|
||||
position: absolute;
|
||||
left: 28px;
|
||||
left: 24px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 28px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: stretch;
|
||||
padding: 0;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.ecom-video-tree__branches-line::before {
|
||||
@@ -970,28 +965,24 @@
|
||||
}
|
||||
|
||||
.ecom-video-tree__branch-tap {
|
||||
position: relative;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.ecom-video-tree__branch-tap::before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
background: #3a4550;
|
||||
}
|
||||
|
||||
.ecom-video-tree__branch-tap:nth-child(1) { top: 0; }
|
||||
.ecom-video-tree__branch-tap:nth-child(2) { top: 50%; transform: translateY(-50%); }
|
||||
.ecom-video-tree__branch-tap:nth-child(3) { bottom: 0; }
|
||||
|
||||
.ecom-video-tree__branch-tap::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, transparent, #00ff88, transparent);
|
||||
animation: ecom-tree-branch-flow 2.4s ease-in-out infinite;
|
||||
}
|
||||
@@ -1025,19 +1016,18 @@
|
||||
.ecom-video-tree__rows {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
justify-content: space-between;
|
||||
gap: 20px;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
align-self: stretch;
|
||||
padding: 0;
|
||||
align-self: center;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.ecom-video-tree__row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
flex: 1;
|
||||
gap: 12px;
|
||||
gap: 8px;
|
||||
animation: ecom-tree-row-in 480ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
||||
}
|
||||
|
||||
|
||||
@@ -566,13 +566,6 @@
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user