import * as Popover from '@radix-ui/react-popover'; import { useCallback, useEffect, useState } from 'react'; import { ReactionIcon } from '@shared/icons'; import { usePublish } from '@utils/hooks/usePublish'; const REACTIONS = [ { content: '👏', img: 'https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Hand%20gestures/Clapping%20Hands.png', }, { content: '🤪', img: 'https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Smilies/Face%20with%20Tongue.png', }, { content: '😮', img: 'https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Smilies/Face%20with%20Open%20Mouth.png', }, { content: '😢', img: 'https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Smilies/Crying%20Face.png', }, { content: '🤡', img: 'https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Smilies/Clown%20Face.png', }, ]; export function NoteReaction({ id, pubkey }: { id: string; pubkey: string }) { const [open, setOpen] = useState(false); const [reaction, setReaction] = useState(null); const { publish } = usePublish(); const getReactionImage = (content: string) => { const reaction: { img: string } = REACTIONS.find((el) => el.content === content); return reaction.img; }; const react = async (content: string) => { setReaction(content); const event = await publish({ content: content, kind: 7, tags: [ ['e', id], ['p', pubkey], ], }); if (event) { setOpen(false); } }; return (
); }