From 93a538d51d1b7f72049ade6b0f27b55b0a7a47b9 Mon Sep 17 00:00:00 2001 From: Stringadmin Date: Tue, 2 Jun 2026 17:37:51 +0800 Subject: [PATCH] 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 --- src/features/community/CommunityPage.tsx | 3 +- src/features/ecommerce/EcommercePage.tsx | 9 ++- .../ecommerce/EcommerceProgressBar.tsx | 30 ++++++++ src/features/home/HomePage.tsx | 18 +++-- src/features/home/WelcomeSplash.tsx | 20 +++++- src/features/workbench/WorkbenchPage.tsx | 2 +- src/hooks/useScrollEntrance.ts | 31 ++++++++ src/styles/components/legacy-components.css | 3 + src/styles/components/motion.css | 72 +++++++++++++++++++ src/styles/components/primitives.css | 14 ++-- src/styles/pages/ecommerce.css | 42 +++++++++++ src/styles/pages/legacy-pages.css | 15 +--- src/styles/shell/app-shell.css | 14 ++++ 13 files changed, 242 insertions(+), 31 deletions(-) create mode 100644 src/features/ecommerce/EcommerceProgressBar.tsx create mode 100644 src/hooks/useScrollEntrance.ts diff --git a/src/features/community/CommunityPage.tsx b/src/features/community/CommunityPage.tsx index 2d7d219..0356e98 100644 --- a/src/features/community/CommunityPage.tsx +++ b/src/features/community/CommunityPage.tsx @@ -477,8 +477,9 @@ function CommunityPage({ projects, isAuthenticated, onStartCreate, onOpenProject