Tech debt from issue notes refactor: Emojis

Technical problems:

  1. When the user opens the emoji dropdown, it is all handled by jQuery.

  2. 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. )

  3. When the request of 1.2 finishes, an event is dispatched through the DOM and listened in the Vue code to update the data.

  4. When the user clicks on an already awarded emoji, that request is made through Vue

End result

  1. No global event listeners
  2. All API request should be handled by the Vue application
  3. All the requests should made through Vue, like point 4 above.
Edited by 🤖 GitLab Bot 🤖