diff --git a/src/components/Note/Poll.tsx b/src/components/Note/Poll.tsx index 94a58190..8994ba6a 100644 --- a/src/components/Note/Poll.tsx +++ b/src/components/Note/Poll.tsx @@ -37,6 +37,9 @@ export default function Poll({ event, className }: { event: Event; className?: s const isExpired = useMemo(() => poll?.endsAt && dayjs().unix() > poll.endsAt, [poll]) const isMultipleChoice = useMemo(() => poll?.pollType === POLL_TYPE.MULTIPLE_CHOICE, [poll]) const canVote = useMemo(() => !isExpired && !votedOptionIds.length, [isExpired, votedOptionIds]) + const showResults = useMemo(() => { + return event.pubkey === pubkey || !canVote + }, [event, pubkey, canVote]) const [containerElement, setContainerElement] = useState(null) useEffect(() => { @@ -153,9 +156,9 @@ export default function Poll({ event, className }: { event: Event; className?: s {poll.options.map((option) => { const votes = pollResults?.results?.[option.id]?.size ?? 0 const totalVotes = pollResults?.totalVotes ?? 0 - const percentage = !canVote && totalVotes > 0 ? (votes / totalVotes) * 100 : 0 + const percentage = showResults && totalVotes > 0 ? (votes / totalVotes) * 100 : 0 const isMax = - pollResults && pollResults.totalVotes > 0 && !canVote + pollResults && pollResults.totalVotes > 0 && showResults ? Object.values(pollResults.results).every((res) => res.size <= votes) : false @@ -186,7 +189,7 @@ export default function Poll({ event, className }: { event: Event; className?: s )} - {!canVote && ( + {showResults && (
{t('{{number}} votes', { number: pollResults?.totalVotes ?? 0 })}
{isLoadingResults && t('Loading...')} - {!isLoadingResults && !canVote && ( + {!isLoadingResults && showResults && (
{