@@ -3,7 +3,11 @@ import {Fragment, useMemo} from 'react';
33import styled from '@emotion/styled' ;
44
55import { bulkDelete , bulkUpdate } from 'sentry/actionCreators/group' ;
6- import { addLoadingMessage , clearIndicators } from 'sentry/actionCreators/indicator' ;
6+ import {
7+ addLoadingMessage ,
8+ addSuccessMessage ,
9+ clearIndicators ,
10+ } from 'sentry/actionCreators/indicator' ;
711import type { ModalRenderProps } from 'sentry/actionCreators/modal' ;
812import { openModal , openReprocessEventModal } from 'sentry/actionCreators/modal' ;
913import Feature from 'sentry/components/acl/feature' ;
@@ -170,6 +174,7 @@ export function GroupActions({group, project, disabled, event}: GroupActionsProp
170174 complete : ( ) => {
171175 clearIndicators ( ) ;
172176
177+ addSuccessMessage ( t ( 'Issue deleted' ) ) ;
173178 navigate ( {
174179 pathname : `/organizations/${ organization . slug } /issues/` ,
175180 query : { project : project . id } ,
@@ -182,9 +187,7 @@ export function GroupActions({group, project, disabled, event}: GroupActionsProp
182187 IssueListCacheStore . reset ( ) ;
183188 } ;
184189
185- const onUpdate = ( data : UpdateData ) => {
186- addLoadingMessage ( t ( 'Saving changes\u2026' ) ) ;
187-
190+ const onUpdate = ( data : UpdateData , onComplete ?: ( ) => void ) => {
188191 bulkUpdate (
189192 api ,
190193 {
@@ -194,7 +197,10 @@ export function GroupActions({group, project, disabled, event}: GroupActionsProp
194197 data,
195198 } ,
196199 {
197- complete : clearIndicators ,
200+ complete : ( ) => {
201+ clearIndicators ( ) ;
202+ onComplete ?.( ) ;
203+ } ,
198204 }
199205 ) ;
200206
@@ -226,13 +232,21 @@ export function GroupActions({group, project, disabled, event}: GroupActionsProp
226232 } ;
227233
228234 const onToggleBookmark = ( ) => {
229- onUpdate ( { isBookmarked : ! group . isBookmarked } ) ;
230- trackIssueAction ( 'bookmarked' ) ;
235+ onUpdate ( { isBookmarked : ! group . isBookmarked } , ( ) => {
236+ trackIssueAction ( 'bookmarked' ) ;
237+ addSuccessMessage (
238+ group . isBookmarked ? t ( 'Issue bookmark removed' ) : t ( 'Issue bookmarked' )
239+ ) ;
240+ } ) ;
231241 } ;
232242
233243 const onToggleSubscribe = ( ) => {
234- onUpdate ( { isSubscribed : ! group . isSubscribed } ) ;
235- trackIssueAction ( 'subscribed' ) ;
244+ onUpdate ( { isSubscribed : ! group . isSubscribed } , ( ) => {
245+ trackIssueAction ( 'subscribed' ) ;
246+ addSuccessMessage (
247+ group . isSubscribed ? t ( 'Unsubscribed from issue' ) : t ( 'Subscribed to issue' )
248+ ) ;
249+ } ) ;
236250 } ;
237251
238252 const onDiscard = ( ) => {
0 commit comments