refactor showing favs and repeats logic

This commit is contained in:
Brenden Bice 2019-04-09 11:45:33 -04:00
parent f74a6b4b57
commit 8ed4eb8a7f
6 changed files with 23 additions and 44 deletions
src/modules

View file

@ -460,32 +460,11 @@ export const mutations = {
queueFlush (state, { timeline, id }) {
state.timelines[timeline].flushMarker = id
},
addFavoritedByUsers (state, { favoritedByUsers, id, timelineName }) {
if (timelineName) {
state.timelines[timelineName].visibleStatusesObject[id] = {
...state.timelines[timelineName].visibleStatusesObject[id],
favoritedBy: favoritedByUsers
}
state.timelines[timelineName].visibleStatuses = state.timelines[timelineName].visibleStatuses.map(visibleStatus => visibleStatus.id === id ? { ...visibleStatus, favoritedBy: favoritedByUsers } : visibleStatus)
} else {
state.allStatusesObject[id] = {
...state.allStatusesObject[id],
favoritedBy: favoritedByUsers
}
}
},
addRebloggedByUsers (state, { rebloggedByUsers, id, timelineName }) {
if (timelineName) {
state.timelines[timelineName].visibleStatusesObject[id] = {
...state.timelines[timelineName].visibleStatusesObject[id],
rebloggedBy: rebloggedByUsers
}
state.timelines[timelineName].visibleStatuses = state.timelines[timelineName].visibleStatuses.map(visibleStatus => visibleStatus.id === id ? { ...visibleStatus, rebloggedBy: rebloggedByUsers } : visibleStatus)
} else {
state.allStatusesObject[id] = {
...state.allStatusesObject[id],
rebloggedBy: rebloggedByUsers
}
addFavsAndRepeats (state, { id, favoritedByUsers, rebloggedByUsers }) {
state.allStatusesObject[id] = {
...state.allStatusesObject[id],
favoritedBy: favoritedByUsers,
rebloggedBy: rebloggedByUsers
}
}
}
@ -553,11 +532,9 @@ const statuses = {
credentials: rootState.users.currentUser.credentials
})
},
fetchFavoritedByUsers ({ rootState, commit }, { id, retweetedStatusId, timelineName }) {
rootState.api.backendInteractor.fetchFavoritedByUsers({id}).then((favoritedByUsers) => commit('addFavoritedByUsers', { favoritedByUsers, id: retweetedStatusId, timelineName }))
},
fetchRebloggedByUsers ({ rootState, commit }, { id, retweetedStatusId, timelineName }) {
rootState.api.backendInteractor.fetchRebloggedByUsers({id}).then((rebloggedByUsers) => commit('addRebloggedByUsers', { rebloggedByUsers, id: retweetedStatusId, timelineName }))
fetchFavsAndRepeats ({ rootState, commit }, id) {
Promise.all([rootState.api.backendInteractor.fetchFavoritedByUsers(id), rootState.api.backendInteractor.fetchRebloggedByUsers(id)])
.then(([favoritedByUsers, rebloggedByUsers]) => commit('addFavsAndRepeats', { id, favoritedByUsers, rebloggedByUsers }))
}
},
mutations