diff --git a/apps/portal/src/components/resumes/comments/ResumeCommentListItem.tsx b/apps/portal/src/components/resumes/comments/ResumeCommentListItem.tsx index 1649c52f..fee44c97 100644 --- a/apps/portal/src/components/resumes/comments/ResumeCommentListItem.tsx +++ b/apps/portal/src/components/resumes/comments/ResumeCommentListItem.tsx @@ -54,25 +54,32 @@ export default function ResumeCommentListItem({ }, }, ); - const commentUpvoteUpsertMutation = trpc.useMutation( - 'resumes.comments.upvotes.user.upsert', + + // COMMENT VOTES + const commentVotesQuery = trpc.useQuery([ + 'resumes.comments.votes.list', + { commentId: comment.id }, + ]); + const commentVotesUpsertMutation = trpc.useMutation( + 'resumes.comments.votes.user.upsert', { onSuccess: () => { // Comment updated, invalidate query to trigger refetch - trpcContext.invalidateQueries(['resumes.comments.list']); + trpcContext.invalidateQueries(['resumes.comments.votes.list']); }, }, ); - const commentUpvoteDeleteMutation = trpc.useMutation( - 'resumes.comments.upvotes.user.delete', + const commentVotesDeleteMutation = trpc.useMutation( + 'resumes.comments.votes.user.delete', { onSuccess: () => { // Comment updated, invalidate query to trigger refetch - trpcContext.invalidateQueries(['resumes.comments.list']); + trpcContext.invalidateQueries(['resumes.comments.votes.list']); }, }, ); + // FORM ACTIONS const onCancel = () => { reset({ description: comment.description }); setIsEditingComment(false); @@ -98,14 +105,13 @@ export default function ResumeCommentListItem({ }; const onVote = async (value: Vote) => { - if (comment.userVote?.value === value) { - return commentUpvoteDeleteMutation.mutate({ + if (commentVotesQuery.data?.userVote?.value === value) { + return commentVotesDeleteMutation.mutate({ commentId: comment.id, }); } - return commentUpvoteUpsertMutation.mutate({ + return commentVotesUpsertMutation.mutate({ commentId: comment.id, - id: comment.userVote?.id, value, }); }; @@ -190,15 +196,16 @@ export default function ResumeCommentListItem({ -
{comment.numVotes}
+
+ {commentVotesQuery.data?.numVotes ?? 0} +