add follow/unfollow to followed tags list
This commit is contained in:
parent
e9f16af82d
commit
62287fffae
7 changed files with 86 additions and 30 deletions
|
@ -2,11 +2,18 @@ import { merge } from 'lodash'
|
|||
|
||||
const tags = {
|
||||
state: {
|
||||
// Contains key = id, value = number of trackers for this poll
|
||||
// Contains key = name, value = tag json
|
||||
tags: {}
|
||||
},
|
||||
getters: {
|
||||
findTag: state => query => {
|
||||
const result = state.tags[query]
|
||||
return result
|
||||
},
|
||||
},
|
||||
mutations: {
|
||||
setTag (state, { name, data }) {
|
||||
console.log("Setting", name, {...data})
|
||||
state.tags[name] = data
|
||||
}
|
||||
},
|
||||
|
@ -17,17 +24,17 @@ const tags = {
|
|||
return tag
|
||||
})
|
||||
},
|
||||
followTag (store, tagName) {
|
||||
return store.rootState.api.backendInteractor.followHashtag({ tag: tagName })
|
||||
followTag ({ rootState, commit }, tagName) {
|
||||
return rootState.api.backendInteractor.followHashtag({ tag: tagName })
|
||||
.then((resp) => {
|
||||
store.commit('setTag', { name: tagName, data: resp })
|
||||
commit('setTag', { name: tagName, data: resp })
|
||||
return resp
|
||||
})
|
||||
},
|
||||
unfollowTag ({ rootState, commit }, tag) {
|
||||
return rootState.api.backendInteractor.unfollowHashtag({ tag })
|
||||
unfollowTag ({ rootState, commit }, tagName) {
|
||||
return rootState.api.backendInteractor.unfollowHashtag({ tag: tagName })
|
||||
.then((resp) => {
|
||||
commit('setTag', { name: tag, data: resp })
|
||||
commit('setTag', { name: tagName, data: resp })
|
||||
return resp
|
||||
})
|
||||
}
|
||||
|
|
|
@ -193,11 +193,6 @@ export const mutations = {
|
|||
mergeOrAdd(state.users, state.usersObject, user)
|
||||
})
|
||||
},
|
||||
addNewTags (state, tags) {
|
||||
each(tags, (tag) => {
|
||||
mergeOrAdd(state.tags, state.tagsObject, tag, 'name')
|
||||
})
|
||||
},
|
||||
updateUserRelationship (state, relationships) {
|
||||
relationships.forEach((relationship) => {
|
||||
state.relationships[relationship.id] = relationship
|
||||
|
@ -291,10 +286,6 @@ export const getters = {
|
|||
const rel = id && state.relationships[id]
|
||||
return rel || { id, loading: true }
|
||||
},
|
||||
findTag: state => query => {
|
||||
const result = state.tagsObject[query]
|
||||
return result
|
||||
},
|
||||
}
|
||||
|
||||
export const defaultState = {
|
||||
|
@ -433,7 +424,7 @@ const users = {
|
|||
|
||||
return rootState.api.backendInteractor.getFollowedHashtags({ pagination })
|
||||
.then(({ data: tags, pagination }) => {
|
||||
commit('addNewTags', tags)
|
||||
each(tags, tag => commit('setTag', { name: tag.name, data: tag }))
|
||||
commit('saveFollowedTagIds', { id, followedTagIds: tags.map(tag => tag.name) })
|
||||
commit('saveFollowedTagPagination', { id, pagination })
|
||||
return tags
|
||||
|
@ -477,9 +468,6 @@ const users = {
|
|||
addNewUsers ({ commit }, users) {
|
||||
commit('addNewUsers', users)
|
||||
},
|
||||
addNewTags ({ commit }, tags) {
|
||||
commit('addNewTags', tags)
|
||||
},
|
||||
addNewStatuses (store, { statuses }) {
|
||||
const users = map(statuses, 'user')
|
||||
const retweetedUsers = compact(map(statuses, 'retweeted_status.user'))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue