feat: polish motion with stronger easing, press feedback and reduced motion
- Override Tailwind ease-out/ease-in-out with stronger curves, add ease-drawer - hoverOnlyWhenSupported so hover styles never stick on touch devices - Replace transition-all with explicit properties across the public UI - Press feedback via active:scale-[0.97] instead of hover:scale-105 - Global prefers-reduced-motion handling (CSS + MotionConfig reducedMotion="user") - Mobile menu is a real drawer: stays mounted, inert when closed, Escape closes - Progress and music bars animate scaleX/scaleY instead of width/height - Fix undefined animate-spin-slow, contain hero CTA shine with overflow-hidden Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { usePathname } from "next/navigation";
|
||||
import dynamic from "next/dynamic";
|
||||
import { MotionConfig } from "framer-motion";
|
||||
import { ToastProvider } from "@/components/Toast";
|
||||
import ErrorBoundary from "@/components/ErrorBoundary";
|
||||
import { ConsentProvider } from "./ConsentProvider";
|
||||
@@ -30,9 +31,12 @@ export default function ClientProviders({
|
||||
<ErrorBoundary>
|
||||
<ConsentProvider>
|
||||
<ThemeProvider>
|
||||
<GatedProviders mounted={mounted}>
|
||||
{children}
|
||||
</GatedProviders>
|
||||
{/* Respect prefers-reduced-motion in every Framer Motion animation */}
|
||||
<MotionConfig reducedMotion="user">
|
||||
<GatedProviders mounted={mounted}>
|
||||
{children}
|
||||
</GatedProviders>
|
||||
</MotionConfig>
|
||||
</ThemeProvider>
|
||||
</ConsentProvider>
|
||||
</ErrorBoundary>
|
||||
|
||||
Reference in New Issue
Block a user