// hooks import useUserAuth from "hooks/use-user-auth"; import useIssueReaction from "hooks/use-issue-reaction"; // components import { ReactionSelector } from "components/core"; // string helpers import { renderEmoji } from "helpers/emoji.helper"; // types type Props = { workspaceSlug?: string | string[]; projectId?: string | string[]; issueId?: string | string[]; }; export const IssueReaction: React.FC = (props) => { const { workspaceSlug, projectId, issueId } = props; const { user } = useUserAuth(); const { reactions, groupedReactions, handleReactionCreate, handleReactionDelete } = useIssueReaction(workspaceSlug, projectId, issueId); const handleReactionClick = (reaction: string) => { if (!workspaceSlug || !projectId || !issueId) return; const isSelected = reactions?.some((r) => r.actor === user?.id && r.reaction === reaction); if (isSelected) { handleReactionDelete(reaction); } else { handleReactionCreate(reaction); } }; return (
reaction.actor === user?.id).map((r) => r.reaction) || [] } onSelect={handleReactionClick} /> {Object.keys(groupedReactions || {}).map( (reaction) => groupedReactions?.[reaction]?.length && groupedReactions[reaction].length > 0 && ( ) )}
); };