Fetch Public and TWKN timelines when viewed.
This commit is contained in:
parent
14f07dde5d
commit
832bd3cdd2
6 changed files with 46 additions and 8 deletions
|
@ -2,11 +2,32 @@ import backendInteractorService from '../services/backend_interactor_service/bac
|
|||
|
||||
const api = {
|
||||
state: {
|
||||
backendInteractor: backendInteractorService()
|
||||
backendInteractor: backendInteractorService(),
|
||||
fetchers: {}
|
||||
},
|
||||
mutations: {
|
||||
setBackendInteractor (state, backendInteractor) {
|
||||
state.backendInteractor = backendInteractor
|
||||
},
|
||||
addFetcher (state, {timeline, fetcher}) {
|
||||
state.fetchers[timeline] = fetcher
|
||||
},
|
||||
removeFetcher (state, {timeline}) {
|
||||
delete state.fetchers[timeline]
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
startFetching (store, timeline) {
|
||||
// Don't start fetching if we already are.
|
||||
if (!store.state.fetchers[timeline]) {
|
||||
const fetcher = store.state.backendInteractor.startFetching({timeline, store})
|
||||
store.commit('addFetcher', {timeline, fetcher})
|
||||
}
|
||||
},
|
||||
stopFetching (store, timeline) {
|
||||
const fetcher = store.state.fetchers[timeline]
|
||||
window.clearInterval(fetcher)
|
||||
store.commit('removeFetcher', {timeline})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import timelineFetcher from '../services/timeline_fetcher/timeline_fetcher.service.js'
|
||||
import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'
|
||||
import { compact, map, each, find, merge } from 'lodash'
|
||||
import { set } from 'vue'
|
||||
|
@ -74,12 +73,12 @@ const users = {
|
|||
commit('setCurrentUser', user)
|
||||
commit('addNewUsers', [user])
|
||||
|
||||
// Start getting fresh tweets.
|
||||
timelineFetcher.startFetching({store, credentials: userCredentials})
|
||||
|
||||
// Set our new backend interactor
|
||||
commit('setBackendInteractor', backendInteractorService(userCredentials))
|
||||
|
||||
// Start getting fresh tweets.
|
||||
store.dispatch('startFetching', 'friends')
|
||||
|
||||
// Fetch our friends
|
||||
store.rootState.api.backendInteractor.fetchFriends()
|
||||
.then((friends) => commit('addNewUsers', friends))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue