Spaces:
Paused
Paused
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;
|