From fafe258f2b94cc2faf516ea2722c01e17ab8e2d8 Mon Sep 17 00:00:00 2001 From: Edijs Date: Wed, 6 Feb 2019 19:19:14 -0700 Subject: [PATCH 1/3] Typo --- .../public_and_external_timeline.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/public_and_external_timeline/public_and_external_timeline.vue b/src/components/public_and_external_timeline/public_and_external_timeline.vue index aded2ead..6be9f955 100644 --- a/src/components/public_and_external_timeline/public_and_external_timeline.vue +++ b/src/components/public_and_external_timeline/public_and_external_timeline.vue @@ -1,5 +1,5 @@ From 19870c0b6d4f7cb73e36b16d3c09d2011e6367a9 Mon Sep 17 00:00:00 2001 From: Edijs Date: Wed, 6 Feb 2019 19:19:43 -0700 Subject: [PATCH 2/3] Fix issue while fetching timelines for tag page --- src/modules/api.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/modules/api.js b/src/modules/api.js index 7bda13e7..95782e38 100644 --- a/src/modules/api.js +++ b/src/modules/api.js @@ -1,5 +1,5 @@ import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js' -import {isArray} from 'lodash' +import { isArray } from 'lodash' import { Socket } from 'phoenix' const api = { @@ -34,18 +34,24 @@ const api = { } }, actions: { - startFetching (store, timeline) { + startFetching (store, payload) { let userId = false + let timeline = 'friends' + let tag = false - // This is for user timelines - if (isArray(timeline)) { - userId = timeline[1] - timeline = timeline[0] + if (isArray(payload)) { + // For user timelines + timeline = payload[0] + userId = payload[1] + } else if (payload.tag) { + // For tag timelines + timeline = 'tag' + tag = payload.tag } // Don't start fetching if we already are. if (!store.state.fetchers[timeline]) { - const fetcher = store.state.backendInteractor.startFetching({timeline, store, userId}) + const fetcher = store.state.backendInteractor.startFetching({timeline, store, userId, tag}) store.commit('addFetcher', {timeline, fetcher}) } }, From 0dc7c45f324c246cc74c6ed55c006c67742c4139 Mon Sep 17 00:00:00 2001 From: Edijs Date: Thu, 7 Feb 2019 16:23:18 -0700 Subject: [PATCH 3/3] Code refactoring --- .../public_and_external_timeline.js | 2 +- .../public_timeline/public_timeline.js | 2 +- src/components/tag_timeline/tag_timeline.js | 4 +-- src/components/user_profile/user_profile.js | 10 ++++---- src/modules/api.js | 25 ++++--------------- src/modules/users.js | 2 +- 6 files changed, 15 insertions(+), 30 deletions(-) diff --git a/src/components/public_and_external_timeline/public_and_external_timeline.js b/src/components/public_and_external_timeline/public_and_external_timeline.js index 0db6efae..d45677e0 100644 --- a/src/components/public_and_external_timeline/public_and_external_timeline.js +++ b/src/components/public_and_external_timeline/public_and_external_timeline.js @@ -7,7 +7,7 @@ const PublicAndExternalTimeline = { timeline () { return this.$store.state.statuses.timelines.publicAndExternal } }, created () { - this.$store.dispatch('startFetching', 'publicAndExternal') + this.$store.dispatch('startFetching', { timeline: 'publicAndExternal' }) }, destroyed () { this.$store.dispatch('stopFetching', 'publicAndExternal') diff --git a/src/components/public_timeline/public_timeline.js b/src/components/public_timeline/public_timeline.js index 9b866be8..64c951ac 100644 --- a/src/components/public_timeline/public_timeline.js +++ b/src/components/public_timeline/public_timeline.js @@ -7,7 +7,7 @@ const PublicTimeline = { timeline () { return this.$store.state.statuses.timelines.public } }, created () { - this.$store.dispatch('startFetching', 'public') + this.$store.dispatch('startFetching', { timeline: 'public' }) }, destroyed () { this.$store.dispatch('stopFetching', 'public') diff --git a/src/components/tag_timeline/tag_timeline.js b/src/components/tag_timeline/tag_timeline.js index 43de4f49..41b09706 100644 --- a/src/components/tag_timeline/tag_timeline.js +++ b/src/components/tag_timeline/tag_timeline.js @@ -3,7 +3,7 @@ import Timeline from '../timeline/timeline.vue' const TagTimeline = { created () { this.$store.commit('clearTimeline', { timeline: 'tag' }) - this.$store.dispatch('startFetching', { 'tag': this.tag }) + this.$store.dispatch('startFetching', { timeline: 'tag', tag: this.tag }) }, components: { Timeline @@ -15,7 +15,7 @@ const TagTimeline = { watch: { tag () { this.$store.commit('clearTimeline', { timeline: 'tag' }) - this.$store.dispatch('startFetching', { 'tag': this.tag }) + this.$store.dispatch('startFetching', { timeline: 'tag', tag: this.tag }) } }, destroyed () { diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js index 7b0ab705..8b5571bd 100644 --- a/src/components/user_profile/user_profile.js +++ b/src/components/user_profile/user_profile.js @@ -8,8 +8,8 @@ const UserProfile = { this.$store.commit('clearTimeline', { timeline: 'user' }) this.$store.commit('clearTimeline', { timeline: 'favorites' }) this.$store.commit('clearTimeline', { timeline: 'media' }) - this.$store.dispatch('startFetching', ['user', this.fetchBy]) - this.$store.dispatch('startFetching', ['media', this.fetchBy]) + this.$store.dispatch('startFetching', { timeline: 'user', userId: this.fetchBy }) + this.$store.dispatch('startFetching', { timeline: 'media', userId: this.fetchBy }) this.startFetchFavorites() if (!this.user.id) { this.$store.dispatch('fetchUser', this.fetchBy) @@ -63,12 +63,12 @@ const UserProfile = { methods: { startFetchFavorites () { if (this.isUs) { - this.$store.dispatch('startFetching', ['favorites', this.fetchBy]) + this.$store.dispatch('startFetching', { timeline: 'favorites', userId: this.fetchBy }) } }, startUp () { - this.$store.dispatch('startFetching', ['user', this.fetchBy]) - this.$store.dispatch('startFetching', ['media', this.fetchBy]) + this.$store.dispatch('startFetching', { timeline: 'user', userId: this.fetchBy }) + this.$store.dispatch('startFetching', { timeline: 'media', userId: this.fetchBy }) this.startFetchFavorites() }, diff --git a/src/modules/api.js b/src/modules/api.js index 95782e38..31cb55c6 100644 --- a/src/modules/api.js +++ b/src/modules/api.js @@ -1,5 +1,4 @@ import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js' -import { isArray } from 'lodash' import { Socket } from 'phoenix' const api = { @@ -34,26 +33,12 @@ const api = { } }, actions: { - startFetching (store, payload) { - let userId = false - let timeline = 'friends' - let tag = false - - if (isArray(payload)) { - // For user timelines - timeline = payload[0] - userId = payload[1] - } else if (payload.tag) { - // For tag timelines - timeline = 'tag' - tag = payload.tag - } - + startFetching (store, {timeline = 'friends', tag = false, userId = false}) { // Don't start fetching if we already are. - if (!store.state.fetchers[timeline]) { - const fetcher = store.state.backendInteractor.startFetching({timeline, store, userId, tag}) - store.commit('addFetcher', {timeline, fetcher}) - } + if (store.state.fetchers[timeline]) return + + const fetcher = store.state.backendInteractor.startFetching({ timeline, store, userId, tag }) + store.commit('addFetcher', { timeline, fetcher }) }, stopFetching (store, timeline) { const fetcher = store.state.fetchers[timeline] diff --git a/src/modules/users.js b/src/modules/users.js index ca2e0f31..4d56ec6f 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -271,7 +271,7 @@ const users = { } // Start getting fresh posts. - store.dispatch('startFetching', 'friends') + store.dispatch('startFetching', { timeline: 'friends' }) // Get user mutes and follower info store.rootState.api.backendInteractor.fetchMutes().then((mutedUsers) => {