import { useState } from 'react' import { getActiveClasses } from 'get-active-classes' import Popover from '@material-ui/core/Popover' import { useAuth } from '@redwoodjs/auth' import Svg from 'src/components/Svg' const emojiMenu = ['❤️', '👍', '😄', '🙌'] // const emojiMenu = ['🏆', '❤️', '👍', '😊', '😄', '🚀', '👏', '🙌'] const noEmotes = [ { emoji: '❤️', count: 0, }, ] const textShadow = { textShadow: '0 4px 6px rgba(0, 0, 0, 0.3)' } const EmojiReaction = ({ emotes, userEmotes, onEmote = () => {}, onShowPartReactions, className, }) => { const { currentUser } = useAuth() const [isOpen, setIsOpen] = useState(false) const [anchorEl, setAnchorEl] = useState(null) const [popoverId, setPopoverId] = useState(undefined) const openPopover = (target) => { setAnchorEl(target) setPopoverId('simple-popover') setIsOpen(true) } const closePopover = () => { setAnchorEl(null) setPopoverId(undefined) setIsOpen(false) } const togglePopover = ({ currentTarget }) => { if (isOpen) { return closePopover() } openPopover(currentTarget) } const handleEmojiClick = (emoji) => { // TODO handle user not signed in better, maybe open up a modal, I danno think about it. currentUser && onEmote(emoji) closePopover() } return ( <>
{(emotes.length ? emotes : noEmotes).map((emote, i) => ( handleEmojiClick(emote.emoji)} > {emote.emoji} {emote.count} ))}
{emojiMenu.map((emoji, i) => ( ))}
) } export default EmojiReaction