Project:Create a simple navbar using layout animation in framer motion

import { animate, motion } from "framer-motion";
import { useEffect, useState } from "react";
import { AnimatePresence } from "framer-motion";
const CHILD_VARIANTS = {
  initial: { opacity: 0, y: 20 },
  animate: { opacity: 1, y: 0 },
  exit: { opacity: 0, y: 20 },
};

const ANIMATE_VARIANTS = {
  animate: {
    transition: {
      staggerChildren: 0.1,
      staggerDirection: 1,
    },
  },
  exit: {
    transition: {
      staggerChildren: 0.1,
      staggerDirection: -1,
    },
  },

  initial: {},
};

const App = () => {
  const [click, setIsClick] = useState(false);

  return (
    <div className="h-screen w-full flex justify-center items-end">
      <motion.nav layout className="rounded-xl mb-10 p-10 bg-amber-100">
        <AnimatePresence>
          {click && (
            <motion.div
              style={{
                padding: click ? "50px" : "40px",
              }}
              layout
              className="grid grid-cols-2 gap-10 font-bold mb-10 text-center"
              initial="initial"
              animate="animate"
              exit="exit"
              variants={ANIMATE_VARIANTS}
            >
              {[
                "Project 1",
                "Project 2",
                "Project 3",
                "Project 4",
                "Project 5",
                "Project 6",
              ].map((item) => (
                <motion.div
                  variants={CHILD_VARIANTS}
                  layout
                  key={item}
                  className="cursor-pointer px-10 py-2 rounded-md bg-blue-500 hover:text-white transition-colors duration-300"
                >
                  {item}
                </motion.div>
              ))}
            </motion.div>
          )}
        </AnimatePresence>

        <motion.ul layout className="flex space-x-10 font-bold">
          {["Home", "Portfolio", "Services"].map((item) =>
            item === "Portfolio" ? (
              <motion.li
                layout
                key={item}
                className="cursor-pointer px-10 py-2 rounded-md
          hover:bg-blue-500 hover:text-white transition-colors duration-300
          
          "
                onClick={() => setIsClick(!click)}
              >
                {item}
              </motion.li>
            ) : (
              <motion.li
                key={item}
                className="cursor-pointer px-10 py-2 rounded-md
          hover:bg-blue-500 hover:text-white transition-colors duration-300
          "
              >
                {item}
              </motion.li>
            )
          )}
        </motion.ul>
      </motion.nav>
    </div>
  );
};

export default App;