Very nice. Well-done! Needs some minor cosmetic tweaking IMO but works well.
Areas of improvement (just my opinion or preference
1. When a user clicks the same reaction, an AJAX error - Duplicate reaction
Suggestion - have the chosen reaction be unavailable to pick again by the same user.
2. Recent reactions list needs to be improved cosmetically (in my opinion).
Suggestion - maybe have the Recent Reactions list in the user profile show the reaction images given and # of times each was picked.
3. In viewtopic:
#1. Do not show anything if there are zero reactions. Right now seeing a "0".
#2. When there ARE reactions, dress up the numbers of types of reactions and total reactions.
These are not complaints, just suggestions.
Works nicely. Love the AJAX with no page reload.