YesPlayMusic/packages/web/components/New/PageTransition.tsx

30 lines
619 B
TypeScript
Raw Normal View History

2022-05-29 17:53:27 +08:00
import { motion } from 'framer-motion'
import { ease } from '@/web/utils/const'
2022-06-08 11:48:22 +08:00
import useIsMobile from '@/web/hooks/useIsMobile'
2022-05-29 17:53:27 +08:00
const PageTransition = ({
children,
disableEnterAnimation,
}: {
children: React.ReactNode
disableEnterAnimation?: boolean
}) => {
2022-06-08 11:48:22 +08:00
const isMobile = useIsMobile()
if (isMobile) {
return <>{children}</>
}
2022-05-29 17:53:27 +08:00
return (
<motion.div
initial={{ opacity: disableEnterAnimation ? 1 : 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
transition={{ duration: 0.18, ease }}
>
{children}
</motion.div>
)
}
export default PageTransition