@@ -60,9 +60,16 @@ function ActivityFeedback({ activity }: ActivityFeedbackProps) {
6060
6161 const feedbackActions = useMemo < ReadonlySet < OrgSchemaAction > > ( ( ) => {
6262 try {
63- const reactActions = ( messageThing ?. potentialAction || [ ] ) . filter (
64- ( { '@type' : type } ) => type === 'LikeAction' || type === 'DislikeAction'
65- ) ;
63+ const reactActions = ( messageThing ?. potentialAction || [ ] )
64+ . filter ( ( { '@type' : type } ) => type === 'LikeAction' || type === 'DislikeAction' )
65+ . map ( action =>
66+ Object . assign ( { } , action , {
67+ actionStatus :
68+ action [ '@type' ] === selectedAction ?. [ '@type' ] && feedbackSubmitted
69+ ? 'CompletedActionStatus'
70+ : action . actionStatus
71+ } )
72+ ) ;
6673
6774 if ( reactActions . length ) {
6875 return Object . freeze ( new Set ( reactActions ) ) ;
@@ -77,7 +84,7 @@ function ActivityFeedback({ activity }: ActivityFeedbackProps) {
7784 // Intentionally left blank.
7885 }
7986 return Object . freeze ( new Set ( [ ] as OrgSchemaAction [ ] ) ) ;
80- } , [ graph , messageThing ?. potentialAction ] ) ;
87+ } , [ feedbackSubmitted , graph , messageThing ?. potentialAction , selectedAction ] ) ;
8188
8289 const handleFeedbackActionClick = useCallback (
8390 ( action : OrgSchemaAction ) => setSelectedAction ( action === selectedAction ? undefined : action ) ,
@@ -90,13 +97,8 @@ function ActivityFeedback({ activity }: ActivityFeedbackProps) {
9097 setSelectedAction ( undefined ) ;
9198 }
9299 setFeedbackSubmitted ( wasFeedbackSubmitted ) ;
93- setSelectedAction (
94- Object . assign ( { } , selectedAction , {
95- actionStatus : 'CompletedActionStatus'
96- } )
97- ) ;
98100 } ,
99- [ selectedAction , setFeedbackSubmitted , setSelectedAction ]
101+ [ setFeedbackSubmitted , setSelectedAction ]
100102 ) ;
101103
102104 const FeedbackComponent = useMemo (
0 commit comments