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}
+