import React, { useEffect, useState } from 'react' import axios from 'axios' import ReactionBar from '../comments/ReactionBar' /** * Loads and displays reactions for a single artwork. * * Props: * artworkId number * isLoggedIn boolean */ export default function ArtworkReactions({ artworkId, isLoggedIn = false }) { const [totals, setTotals] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { if (!artworkId) return axios .get(`/api/artworks/${artworkId}/reactions`) .then(({ data }) => setTotals(data.totals ?? {})) .catch(() => setTotals({})) .finally(() => setLoading(false)) }, [artworkId]) if (loading) return null if (!totals || Object.values(totals).every((r) => r.count === 0) && !isLoggedIn) { return null } return (