* Refactor initializeArticleReactions.js
- Refactors file according to eslint rules
- Add showModal and sendHapticMessage to globals
in eslintrc.js
- Shorten initializeArticleReactions() by distributing
parts of it into jumpToComments() and requestReactionCounts()
- requestReactionCounts() makes an ajax request to get the
reaction counts
- jumpToComments() jumps to comments element directly if the
element jump-to-comments is present
* Fix reactionOnClick function to work correctly
- Move sendHapticMessage and showModal global declaration to file
- name function on reaction button on click as addReactionOnClick
which then calls reactToArticle()
* Add route for comment social preview
* Add method comment to social_previews_controller
* Add view for comment social preview
* Fix spacing in meta keywords
* Update comments page keywords
* Create helper for comment social media image
* Use comment social image, add published condition for article social image
* Add tests for comment social preview
* Remove not_found fallback for social previews controller
* Remove cached_tag_list
* Update typos of word 'image' in spec
* Add collection ids to Api (reading + filtering)
- refactored controller
- modifyied views
- added tests
* Add collection ids to Api (reading + filtering): requested changes
- changed order in service
- proper test in filtering
Tags scss needed to be more cohesive with the entire DEV aeshetic, so I made the following changes:
* Decreased the margin between the `tag-edit-container` and `tag-edit-tag areas`.
* Added vertical margins to `tag-form-field` so that elements have a breathing room between them.
* Increased the width of `tag-form-text-field` so that it's a bit easier to read, and changed its resizing mode to be vertical ONLY. Resizing a textarea should feel easy.
* When clicking on a text field, the class `focus-visible` becomes active - The border color now becomes black.
* Button `tag-edit-submit` was looking very unfamiliar with all other buttons. I didn't want it to be lonely, so I gave it attributes to match the 'WRITE A POST' CTA button.
* `tag-edit-flash-error` will show background $red instead of the hardcoded hex value (#ff0000).
Modify tags/edit.html.erb
* The top area now shows a '#' sign next to the tag show section, e.g. '#beginner is the name of the tag used in Markdown.'
* The order for text edit fields is now Summary, Wiki Markdown, Rules Markdown. The reason for this is that the Rules Markdown area feels like it's optional - Not every tag will have submission guidelines or specific rules.
* Text area descriptions have changed a bit to try represent what they do better.
Fix: import variables & mixin, refactor tag-edit
Fragment caching does not support an explicit expiration date for simplicitly, which means that cached resources are tied to the update datetime of the model.
In this case unfortunately this is not sufficient: a cached time that potentially never gets expired can stale quickly when applied to a time sensitive item like a notification.
Since the "time ago" computation is not particularly heavy and notifications are paginated, I ended up removing that part from the cache altogether.
As a byproduct I created two new separate cache keys for the article notification, one of each section surrounding the time.