import { useState } from 'react'; interface Reaction { emoji: string; count: number; users: string[]; reacted: boolean; } interface ReactionBarProps { reactions: Reaction[]; onToggle: (emoji: string, isReacted: boolean) => Promise; } export function ReactionBar({ reactions, onToggle }: ReactionBarProps) { const [loading, setLoading] = useState(false); const toggleReaction = async (emoji: string) => { if (loading) return; setLoading(true); try { const existing = reactions.find(r => r.emoji === emoji); await onToggle(emoji, !!existing?.reacted); } catch (error) { console.error('Failed to toggle reaction:', error); } finally { setLoading(false); } }; if (reactions.length === 0) return null; return (
{reactions.map((reaction) => ( ))}
); }