diff --git a/app/assets/javascripts/initializers/initializeAllFollowButts.js b/app/assets/javascripts/initializers/initializeAllFollowButts.js index 13de954f8..88bcb4c3f 100644 --- a/app/assets/javascripts/initializers/initializeAllFollowButts.js +++ b/app/assets/javascripts/initializers/initializeAllFollowButts.js @@ -94,7 +94,27 @@ function handleOptimisticButtRender(butt) { showModal('follow-button'); } else { // Handles actual following of tags/users - assignState(butt, butt.dataset.verb); + try { + //lets try grab the event buttons info data attribute user id + var evFabUserId = JSON.parse(butt.dataset.info).id; + var requestVerb = butt.dataset.verb; + //now for all follow action buttons + document.querySelectorAll('.follow-action-button').forEach(function(fab){ + try{ + //lets check they have info data attributes + if( fab.dataset.info ){ + //and attempt to parse those, to grab that buttons info user id + var fabUserId = JSON.parse(fab.dataset.info).id; + //now does that user id match our event buttons user id? + if ( fabUserId && fabUserId === evFabUserId ) { + //yes - time to assign the same state! + assignState(fab, requestVerb); + } + } + }catch (err) {return} + }); + }catch (err) {return} + handleFollowButtPress(butt); } }