File size: 1,235 Bytes
a0fda44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
40
import EmojiPicker from "emoji-picker-react";
import React from "react";
import { AnimatePresence, motion } from "framer-motion";

function EmojiModal({ emojiVisible, setEmojiVisible, addEmojiToMessage }) {
  const handleMouseMovement = (event) => {
    event.currentTarget.addEventListener("mouseleave", () => {
      setEmojiVisible(false);
    });
  };

  return (
    <AnimatePresence>
      {emojiVisible && (
        <motion.div
          initial={{ scale: 0 }}
          animate={{ scale: 1 }}
          exit={{ scale: 0 }}
          className={`absolute bottom-[9rem] left-0 w-[40rem]  origin-bottom-left sm:static sm:origin-bottom mt-[.5rem] sm:!scale-100 sm:!duration-[1000ms] sm:w-full ${
            !emojiVisible ? "sm:scale-y-0" : "sm:scale-y-100"
          }`}
          id="emojiPicker"
          onMouseEnter={handleMouseMovement}
        >
          <EmojiPicker
            width="100%"
            lazyLoadEmojis={true}
            // onEmojiClick={(emoji, getImageUrl) =>
            //   setTimeout(() => addEmojiToMessage(emoji, getImageUrl), 100)
            // }
            onEmojiClick={addEmojiToMessage}
          />
        </motion.div>
      )}
    </AnimatePresence>
  );
}

export default EmojiModal;