Tech debt from issue notes refactor: Emojis
Technical problems:
-
When the user opens the emoji dropdown, it is all handled by jQuery.
-
When the user choses a emoji inside the dropdown, an $.ajax request is made to the server. (Initially this request was also done in Vue, causing 2 requests, I opted to keep the one of dropdown itself since there was not easy way to remove it without refactoring the jQuery code too. )
-
When the request of 1.2 finishes, an event is dispatched through the DOM and listened in the Vue code to update the data.
-
When the user clicks on an already awarded emoji, that request is made through Vue
End result
- No global event listeners
- All API request should be handled by the Vue application
- All the requests should made through Vue, like point 4 above.