Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import { motion, Transition } from "framer-motion"; import { PropsWithChildren } from "react"; import { useLocation } from "react-router-dom"; const pageVariants = { initial: { opacity: 0, }, in: { opacity: 1, }, out: { opacity: 0, }, }; const pageTransition: Transition = { ease: "easeInOut", duration: 0.25, }; const AnimatedRoute = ({ children }: PropsWithChildren) => { const location = useLocation(); return ( <motion.div key={`animated-route-${location.pathname}`} initial="initial" animate="in" exit="out" variants={pageVariants} transition={pageTransition}> {children} </motion.div> ); }; export default AnimatedRoute; |