@@ -31,10 +31,9 @@ export const FollowWrapper = ({ id, displayName }: Props) => {
3131 return ! blockList . includes ( tagId ) ;
3232 } ;
3333
34- isBridgetCompatible &&
35- isMyGuardianEnabled &&
36- isNotInBlockList ( id ) &&
34+ if ( isBridgetCompatible && isMyGuardianEnabled && isNotInBlockList ( id ) ) {
3735 setShowFollowTagButton ( true ) ;
36+ }
3837
3938 useEffect ( ( ) => {
4039 const topic = new Topic ( {
@@ -50,12 +49,12 @@ export const FollowWrapper = ({ id, displayName }: Props) => {
5049 window . guardian . modules . sentry . reportError (
5150 error ,
5251 'bridget-getNotificationsClient-isFollowing-error' ,
53- ) ,
54- log (
55- 'dotcom' ,
56- 'Bridget getNotificationsClient.isFollowing Error:' ,
57- error ,
58- ) ;
52+ ) ;
53+ log (
54+ 'dotcom' ,
55+ 'Bridget getNotificationsClient.isFollowing Error:' ,
56+ error ,
57+ ) ;
5958 } ) ;
6059
6160 void getTagClient ( )
@@ -65,12 +64,8 @@ export const FollowWrapper = ({ id, displayName }: Props) => {
6564 window . guardian . modules . sentry . reportError (
6665 error ,
6766 'bridget-getTagClient-isFollowing-error' ,
68- ) ,
69- log (
70- 'dotcom' ,
71- 'Bridget getTagClient.isFollowing Error:' ,
72- error ,
73- ) ;
67+ ) ;
68+ log ( 'dotcom' , 'Bridget getTagClient.isFollowing Error:' , error ) ;
7469 } ) ;
7570 } , [ id , displayName ] ) ;
7671
@@ -81,39 +76,41 @@ export const FollowWrapper = ({ id, displayName }: Props) => {
8176 type : 'tag-contributor' ,
8277 } ) ;
8378
84- isFollowingTag
85- ? void getTagClient ( )
86- . unfollow ( topic )
87- . then ( ( success ) => {
88- success && setIsFollowingTag ( false ) ;
89- } )
90- . catch ( ( error ) => {
91- window . guardian . modules . sentry . reportError (
92- error ,
93- 'bridget-getTagClient-unfollow-error' ,
94- ) ,
95- log (
96- 'dotcom' ,
97- 'Bridget getTagClient.unfollow Error:' ,
98- error ,
99- ) ;
100- } )
101- : void getTagClient ( )
102- . follow ( topic )
103- . then ( ( success ) => {
104- success && setIsFollowingTag ( true ) ;
105- } )
106- . catch ( ( error ) => {
107- window . guardian . modules . sentry . reportError (
108- error ,
109- 'bridget-getTagClient-follow-error' ,
110- ) ,
111- log (
112- 'dotcom' ,
113- 'Bridget getTagClient.follow Error:' ,
114- error ,
115- ) ;
116- } ) ;
79+ if ( isFollowingTag ) {
80+ void getTagClient ( )
81+ . unfollow ( topic )
82+ . then ( ( success ) => {
83+ if ( success ) {
84+ setIsFollowingTag ( false ) ;
85+ }
86+ } )
87+ . catch ( ( error ) => {
88+ window . guardian . modules . sentry . reportError (
89+ error ,
90+ 'bridget-getTagClient-unfollow-error' ,
91+ ) ;
92+ log (
93+ 'dotcom' ,
94+ 'Bridget getTagClient.unfollow Error:' ,
95+ error ,
96+ ) ;
97+ } ) ;
98+ } else {
99+ void getTagClient ( )
100+ . follow ( topic )
101+ . then ( ( success ) => {
102+ if ( success ) {
103+ setIsFollowingTag ( true ) ;
104+ }
105+ } )
106+ . catch ( ( error ) => {
107+ window . guardian . modules . sentry . reportError (
108+ error ,
109+ 'bridget-getTagClient-follow-error' ,
110+ ) ;
111+ log ( 'dotcom' , 'Bridget getTagClient.follow Error:' , error ) ;
112+ } ) ;
113+ }
117114 } ;
118115
119116 const notificationsHandler = ( ) => {
@@ -123,39 +120,45 @@ export const FollowWrapper = ({ id, displayName }: Props) => {
123120 type : 'tag-contributor' ,
124121 } ) ;
125122
126- isFollowingNotifications
127- ? void getNotificationsClient ( )
128- . unfollow ( topic )
129- . then ( ( success ) => {
130- success && setIsFollowingNotifications ( false ) ;
131- } )
132- . catch ( ( error ) => {
133- window . guardian . modules . sentry . reportError (
134- error ,
135- 'briidget-getNotificationsClient-unfollow-error' ,
136- ) ,
137- log (
138- 'dotcom' ,
139- 'Bridget getNotificationsClient.unfollow Error:' ,
140- error ,
141- ) ;
142- } )
143- : void getNotificationsClient ( )
144- . follow ( topic )
145- . then ( ( success ) => {
146- success && setIsFollowingNotifications ( true ) ;
147- } )
148- . catch ( ( error ) => {
149- window . guardian . modules . sentry . reportError (
150- error ,
151- 'bridget-getNotificationsClient-follow-error' ,
152- ) ,
153- log (
154- 'dotcom' ,
155- 'Bridget getNotificationsClient.follow Error:' ,
156- error ,
157- ) ;
158- } ) ;
123+ if ( isFollowingNotifications ) {
124+ void getNotificationsClient ( )
125+ . unfollow ( topic )
126+ . then ( ( success ) => {
127+ if ( success ) {
128+ setIsFollowingNotifications ( false ) ;
129+ }
130+ } )
131+ . catch ( ( error ) => {
132+ window . guardian . modules . sentry . reportError (
133+ error ,
134+ 'briidget-getNotificationsClient-unfollow-error' ,
135+ ) ;
136+ log (
137+ 'dotcom' ,
138+ 'Bridget getNotificationsClient.unfollow Error:' ,
139+ error ,
140+ ) ;
141+ } ) ;
142+ } else {
143+ void getNotificationsClient ( )
144+ . follow ( topic )
145+ . then ( ( success ) => {
146+ if ( success ) {
147+ setIsFollowingNotifications ( true ) ;
148+ }
149+ } )
150+ . catch ( ( error ) => {
151+ window . guardian . modules . sentry . reportError (
152+ error ,
153+ 'bridget-getNotificationsClient-follow-error' ,
154+ ) ;
155+ log (
156+ 'dotcom' ,
157+ 'Bridget getNotificationsClient.follow Error:' ,
158+ error ,
159+ ) ;
160+ } ) ;
161+ }
159162 } ;
160163
161164 return (
0 commit comments