import React, { useState } from 'react'; import { useApp } from '../../context/AppContext'; import './BottomBar.css'; export default function BottomBar() { const { currentCard, chosenCard, likeCard, dislikeCard, setIsCommentsOpen, user } = useApp(); const [reactionState, setReactionState] = useState(null); // 'liked' | 'disliked' | null const isRevealed = chosenCard !== null; // Check if user already reacted to this card const alreadyLiked = user?.liked_card_ids?.includes(currentCard?.card_id); const alreadyDisliked = user?.disliked_card_ids?.includes(currentCard?.card_id); const currentReaction = reactionState || (alreadyLiked ? 'liked' : alreadyDisliked ? 'disliked' : null); const handleLike = async () => { if (!isRevealed || currentReaction) return; const result = await likeCard(); if (result && !result.error) { setReactionState('liked'); } }; const handleDislike = async () => { if (!isRevealed || currentReaction) return; const result = await dislikeCard(); if (result && !result.error) { setReactionState('disliked'); } }; const handleComments = () => { setIsCommentsOpen(true); }; // Reset reaction state when card changes React.useEffect(() => { setReactionState(null); }, [currentCard?.card_id]); const likes = (currentCard?.count_likes || 0) + (reactionState === 'liked' ? 1 : 0); const dislikes = (currentCard?.count_dislikes || 0) + (reactionState === 'disliked' ? 1 : 0); return (