feat: UI animation enhancements across all major pages

P1 - Critical UX feedback:
- Add scale-in + slide-up-in entrance animations to profile popover and notification panel
- Port SmoothedProgressBar to EcommercePage (4 generation tools: clone, detail, tryOn, productSet)
- Add result-reveal stagger animation to ecommerce result grids
- Add heart-pop spring animation to CommunityPage favorite toggle

P2 - Visual polish:
- Add scroll-entrance IntersectionObserver animations for HomePage feature sections and experience section
- Add chat-message-in entrance animation to WorkbenchPage message rows
- Fix prefers-reduced-motion accessibility in WelcomeSplash canvas (skip animation, instant entry)

P3 - CSS consolidation:
- Remove conflicting .page-motion definition from legacy-pages.css (keep translateY version from legacy-components.css)
- Consolidate skeleton-shimmer: remove opacity-pulse keyframe from primitives.css, unify with gradient sweep
- Wire up --ease-spring token for heart-pop animation
- Add :active press states (scale 0.97) to topbar buttons, brand lockup

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 17:37:51 +08:00
parent 94080f30f7
commit 93a538d51d
13 changed files with 242 additions and 31 deletions
+42
View File
@@ -9,6 +9,48 @@
font-family: Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}
/* Ecommerce generation progress bar */
.ecommerce-progress-bar {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 16px;
border-radius: var(--radius-sm, 10px);
background: rgba(var(--accent-rgb, 0, 255, 136), 0.08);
border: 1px solid rgba(var(--accent-rgb, 0, 255, 136), 0.18);
margin: 8px 0;
}
.ecommerce-progress-bar__label {
font-size: 13px;
font-weight: 700;
color: var(--fg-muted, #aeb8b1);
white-space: nowrap;
}
.ecommerce-progress-bar__track {
flex: 1;
height: 6px;
border-radius: 999px;
background: rgba(var(--accent-rgb, 0, 255, 136), 0.12);
overflow: hidden;
}
.ecommerce-progress-bar__fill {
height: 100%;
border-radius: 999px;
background: var(--accent, #00ff88);
transition: width 80ms linear;
}
.ecommerce-progress-bar__value {
font-size: 12px;
font-weight: 900;
color: var(--accent, #00ff88);
min-width: 40px;
text-align: right;
}
/* Product set page: target dark two-column workspace with floating detail input. */
.product-clone-page[data-tool="set"] {
display: block;
+2 -13
View File
@@ -14271,19 +14271,6 @@
}
/* ─── Page Motion Animation ─── */
.page-motion {
animation: pixel-page-enter 0.3s ease-out;
}
@keyframes pixel-page-enter {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* ─── Workbench Page Layout Overrides ─── */
.ai-workbench-page.is-active .ai-workbench-shell {
grid-template-columns: 1fr auto;
@@ -14865,6 +14852,8 @@
display: flex;
flex-direction: column;
overflow: hidden;
animation: scale-in 150ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)) both,
slide-up-in 150ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)) both;
}
.notification-center__header {