* After creating the post, the author of it automatically observes it to get notifications when there are interactions
* a user that comments a post, automatically observes that post to get notifications when there are more interactions on that post
* mutation that switches the state of the obeservation of a post on and off
* remove duplicate code
* fix unit tests
* add metric observed users count to posts
* change naming
* Add follow post entry to post menu
* Add FollowButton (WIP), show unfollow in menu when already followed
* Follow/unfollow post => observe
* Update slashed bell
* Add requests to observe/unobserve posts
* Add ObserveButton functionality
* Rename isObservedByMe
* Add observingUsersCount; simplify ObserveButton and menu entries
* Fix locales
* Add snapshot test for ObserveButton (WIP)
* Remove empty routes push
* Add test for ObserveButton
* Add test for ContentMenu, improve ObserveButton test
* Remove unneeded fields from PostQuery
---------
Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
- Avoid possible errors, because of 'window' is only defined on browser side but not in NodeJS on client side. Check for 'typeof window' is neccessary, because if it's not defined at all you can't check for 'window !== undefined' without the same error 'window is undefined'.
This will allow us to use this.$scrollTo in components. I'm now also
using this in the mixin. With so many `this`s it gets horribly
difficult to properly test the mixin in isolation. So I decided to test
the mixin on the component directly.
If we make this a mixin, we can re-use the same solution for e.g. the
comment. If sb. notifies you, the browser automatically scrolls to the
comment in which you have been mentioned.
Unfortunately with `v-html` you cannot use filters directly in
handlebars.
See: https://github.com/nuxt/nuxt.js/issues/231
I also fixed the tests even **without** mocking vue-filters.js plugin 👍