feat(ui): unified motion language and interaction states

- Shared transition constants (view/modal/toast/tile) with standard ease-out
- MotionConfig reducedMotion=user plus CSS reduced-motion neutralizer
- Consistent hover/press/focus-visible states across all interactive classes
This commit is contained in:
nh9961
2026-07-19 20:45:47 +00:00
parent 3706021326
commit bb5750e928
13 changed files with 138 additions and 14 deletions
+2 -1
View File
@@ -43,6 +43,7 @@ import { SettingsView } from "./components/views/SettingsView";
import { TrendsView } from "./components/views/TrendsView";
import { buildDashboard, buildInsights } from "./lib/dashboard";
import { applyFilters, DEFAULT_FILTERS } from "./lib/filters";
import { VIEW_TRANSITION } from "./lib/motion";
import {
evaluateLimits,
limitStatusMessage,
@@ -659,7 +660,7 @@ function App() {
initial={{ opacity: 0, y: 10 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -8 }}
transition={{ duration: 0.2 }}
transition={VIEW_TRANSITION}
className="app-view"
>
{activeView === "overview" && (