@@ -124,14 +124,18 @@ const FeedbackCard = ({
124124 useUpdatePostMutation ( {
125125 onMutate : ( variables ) => {
126126 const feedbackSnapshot = queryClient . getQueryData (
127- useFeedbackByIdQuery . getKey ( { rowId : feedback . rowId ! } ) ,
127+ useFeedbackByIdQuery . getKey ( {
128+ rowId : feedback . rowId ! ,
129+ userId : user ?. rowId ,
130+ } ) ,
128131 ) as FeedbackByIdQuery ;
129132
130133 const postsQueryKey = useInfinitePostsQuery . getKey ( {
131134 projectId : feedback . project ?. rowId ! ,
132135 excludedStatuses,
133136 orderBy : orderBy ? ( orderBy as PostOrderBy ) : undefined ,
134137 search,
138+ userId : user ?. rowId ,
135139 } ) ;
136140
137141 const postsSnapshot = queryClient . getQueryData (
@@ -144,7 +148,10 @@ const FeedbackCard = ({
144148
145149 if ( feedbackSnapshot ) {
146150 queryClient . setQueryData (
147- useFeedbackByIdQuery . getKey ( { rowId : feedback . rowId ! } ) ,
151+ useFeedbackByIdQuery . getKey ( {
152+ rowId : feedback . rowId ! ,
153+ userId : user ?. rowId ,
154+ } ) ,
148155 {
149156 post : {
150157 ...feedbackSnapshot . post ,
@@ -199,26 +206,26 @@ const FeedbackCard = ({
199206 } ) ,
200207
201208 queryClient . invalidateQueries ( {
202- queryKey : useFeedbackByIdQuery . getKey ( { rowId : feedback . rowId ! } ) ,
209+ queryKey : useFeedbackByIdQuery . getKey ( {
210+ rowId : feedback . rowId ! ,
211+ userId : user ?. rowId ,
212+ } ) ,
203213 } ) ,
204214 ] ) ,
205215 } ) ;
206216
207- const userUpvote = feedback ?. userUpvotes ?. nodes [ 0 ] ,
208- userDownvote = feedback ?. userDownvotes ?. nodes [ 0 ] ,
217+ const userUpvote = user ? feedback ?. userUpvotes ?. nodes [ 0 ] : null ,
218+ userDownvote = user ? feedback ?. userDownvotes ?. nodes [ 0 ] : null ,
209219 totalUpvotes = feedback ?. upvotes ?. totalCount ?? 0 ,
210220 totalDownvotes = feedback ?. downvotes ?. totalCount ?? 0 ;
211221
212222 const isAuthor = user ?. rowId === feedback . user ?. rowId ;
213223
214224 const canAdjustFeedback = isAuthor || canManageFeedback ;
215225
216- const isPending = feedback . rowId === "pending" ;
226+ const isFeedbackPending = feedback . rowId === "pending" ;
217227
218- const actionIsPending =
219- feedback . rowId === "pending" ||
220- isDeleteFeedbackPending ||
221- isUpdateStatusPending ;
228+ const actionIsPending = isFeedbackPending || isDeleteFeedbackPending ;
222229
223230 return (
224231 < HStack
@@ -259,7 +266,9 @@ const FeedbackCard = ({
259266 />
260267
261268 < Text color = "foreground.subtle" >
262- { dayjs ( isPending ? new Date ( ) : feedback . createdAt ) . fromNow ( ) }
269+ { dayjs (
270+ isFeedbackPending ? new Date ( ) : feedback . createdAt ,
271+ ) . fromNow ( ) }
263272 </ Text >
264273 </ Stack >
265274 </ Stack >
@@ -271,6 +280,7 @@ const FeedbackCard = ({
271280 downvote = { userDownvote }
272281 totalUpvotes = { totalUpvotes }
273282 totalDownvotes = { totalDownvotes }
283+ isFeedbackRoute = { ! ! isFeedbackRoute }
274284 />
275285 </ HStack >
276286
@@ -296,7 +306,10 @@ const FeedbackCard = ({
296306 </ StatusBadge >
297307 }
298308 triggerProps = { {
299- disabled : ! canManageFeedback || actionIsPending ,
309+ disabled :
310+ ! canManageFeedback ||
311+ actionIsPending ||
312+ isUpdateStatusPending ,
300313 } }
301314 positioning = { { strategy : "fixed" } }
302315 >
@@ -336,14 +349,15 @@ const FeedbackCard = ({
336349 fontSize = "sm"
337350 color = "foreground.subtle"
338351 >
339- { `Updated ${ dayjs ( isPending ? new Date ( ) : feedback . statusUpdatedAt ) . fromNow ( ) } ` }
352+ { `Updated ${ dayjs ( isUpdateStatusPending ? new Date ( ) : feedback . statusUpdatedAt ) . fromNow ( ) } ` }
340353 </ Text >
341354 </ HStack >
342355
343356 < HStack >
344357 { canAdjustFeedback && (
345358 < HStack >
346359 < UpdateFeedback
360+ user = { user }
347361 feedback = { feedback }
348362 triggerProps = { {
349363 disabled : actionIsPending ,
0 commit comments