All files / src/components/AnimatedRoute index.tsx

0% Statements 0/8
100% Branches 0/0
0% Functions 0/1
0% Lines 0/8

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;