diff --git a/packages/web/src/components/game/states/Responses.tsx b/packages/web/src/components/game/states/Responses.tsx index 9b843e3..1137f2f 100644 --- a/packages/web/src/components/game/states/Responses.tsx +++ b/packages/web/src/components/game/states/Responses.tsx @@ -24,6 +24,7 @@ const Responses = ({ const [percentages, setPercentages] = useState>({}) const [isMusicPlaying, setIsMusicPlaying] = useState(false) const [isMediaPlaying, setIsMediaPlaying] = useState(false) + const correctSet = Array.isArray(correct) ? correct : [correct] const [sfxResults] = useSound(SFX_RESULTS_SOUND, { volume: 0.2, @@ -81,39 +82,87 @@ const Responses = ({ />
- {answers.map((_, key) => ( -
- - {responses[key] || 0} - -
- ))} + {answers.map((label, key) => { + const votes = responses[key] || 0 + const percent = percentages[key] || "0%" + const isCorrect = correctSet.includes(key) + + return ( +
+
+
+ {label} + {votes} ({percent}) + + {isCorrect ? "Correct" : "Not correct"} + +
+
+ ) + })}
-
- {answers.map((answer, key) => ( - - {answer} - - ))} +
+ {answers.map((answer, key) => { + const votes = responses[key] || 0 + const totalVotes = Object.values(responses).reduce( + (acc, val) => acc + (val || 0), + 0, + ) + const percent = totalVotes ? Math.round((votes / totalVotes) * 100) : 0 + const isCorrect = correctSet.includes(key) + + return ( +
+ + {answer} + + {isCorrect ? "Correct" : "Wrong"} + + +
+ + Votes: {votes} + + + {percent} + % + +
+
+ ) + })}