feat: UI interaction polish — exit animations, hover effects, directional transitions

- Add AnimatedPanel component with CSS transition-based enter/exit for
  Profile popover and Notification panel (140ms scale+fade)
- Add nav-activate-pulse animation for floating-nav active indicator (320ms glow)
- Add tool-panel-fade-in crossfade when switching ecommerce tools
- Add carousel-card-label slide-up-in 260ms on active carousel card
- Add feature-visual img hover scale(1.03)+brightness, experience-route hover translateY(-2px)
- Add community-case-card--mosaic hover scale(1.02)+shadow lift
- Add directional PageTransition: forward→slideX(20px), backward→slideX(-20px)
- Move vite proxy target from hardcoded IP to VITE_DEV_PROXY env variable
- Add .env.example for developer onboarding

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 18:31:39 +08:00
parent 93a538d51d
commit 6b9953625e
15 changed files with 304 additions and 55 deletions
+30
View File
@@ -405,6 +405,21 @@
transform: translateZ(20px) scale(1.02);
}
.omni-home__carousel-card-label {
position: absolute;
bottom: 12px;
left: 14px;
z-index: 2;
padding: 4px 12px;
border-radius: 999px;
background: rgba(var(--accent-rgb, 0, 255, 136), 0.16);
border: 1px solid rgba(var(--accent-rgb, 0, 255, 136), 0.24);
color: var(--fg-body, #f3f5f2);
font-size: 12px;
font-weight: 900;
white-space: nowrap;
}
.omni-home__carousel-card:hover {
box-shadow:
0 28px 58px rgb(0 0 0 / 34%),
@@ -570,6 +585,13 @@
object-position: center;
transform: none;
transform-origin: center;
transition: transform 280ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)),
filter 280ms ease;
}
.omni-home__feature-visual:hover img {
transform: scale(1.03);
filter: saturate(1.1) contrast(1.06) brightness(1.04);
}
.omni-home__feature-stats {
@@ -721,6 +743,14 @@
padding: 16px 18px;
box-shadow: 0 20px 46px rgb(0 0 0 / 26%);
backdrop-filter: blur(12px);
cursor: pointer;
transition: transform 200ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)),
box-shadow 200ms ease;
}
.omni-home__experience-route:hover {
transform: translateY(-2px);
box-shadow: 0 24px 52px rgb(0 0 0 / 32%);
}
.omni-home__experience-route b {
-2
View File
@@ -14852,8 +14852,6 @@
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 {