Made it so that unfocused tab doesn't autostream posts when scrolled to the top

This commit is contained in:
Henry Jameson 2018-08-06 07:58:34 +03:00
parent 32fd108e97
commit d3d5a84868

View file

@ -13,7 +13,8 @@ const Timeline = {
],
data () {
return {
paused: false
paused: false,
unfocused: false
}
},
computed: {
@ -65,8 +66,15 @@ const Timeline = {
this.fetchFollowers()
}
},
mounted () {
if (typeof document.hidden !== 'undefined') {
document.addEventListener('visibilitychange', this.handleVisibilityChange, false)
this.unfocused = document.hidden
}
},
destroyed () {
window.removeEventListener('scroll', this.scrollLoad)
if (typeof document.hidden !== 'undefined') document.removeEventListener('visibilitychange', this.handleVisibilityChange, false)
this.$store.commit('setLoading', { timeline: this.timelineName, value: false })
},
methods: {
@ -113,6 +121,9 @@ const Timeline = {
(window.innerHeight + window.pageYOffset) >= (height - 750)) {
this.fetchOlderStatuses()
}
},
handleVisibilityChange () {
this.unfocused = document.hidden
}
},
watch: {
@ -122,7 +133,7 @@ const Timeline = {
}
if (count > 0) {
// only 'stream' them when you're scrolled to the top
if (window.pageYOffset < 15 && !this.paused) {
if (window.pageYOffset < 15 && !this.paused && !this.unfocused) {
this.showNewStatuses()
} else {
this.paused = true