|
|
@ -16,9 +16,6 @@ export const mergeOrAdd = (arr, obj, item) => {
|
|
|
|
// This is a new item, prepare it
|
|
|
|
// This is a new item, prepare it
|
|
|
|
arr.push(item)
|
|
|
|
arr.push(item)
|
|
|
|
obj[item.id] = item
|
|
|
|
obj[item.id] = item
|
|
|
|
if (item.screen_name && !item.screen_name.includes('@')) {
|
|
|
|
|
|
|
|
obj[item.screen_name.toLowerCase()] = item
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return { item, new: true }
|
|
|
|
return { item, new: true }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -162,7 +159,11 @@ export const mutations = {
|
|
|
|
if (user.relationship) {
|
|
|
|
if (user.relationship) {
|
|
|
|
state.relationships[user.relationship.id] = user.relationship
|
|
|
|
state.relationships[user.relationship.id] = user.relationship
|
|
|
|
}
|
|
|
|
}
|
|
|
|
mergeOrAdd(state.users, state.usersObject, user)
|
|
|
|
const res = mergeOrAdd(state.users, state.usersObject, user)
|
|
|
|
|
|
|
|
const item = res.item
|
|
|
|
|
|
|
|
if (res.new && item.screen_name && !item.screen_name.includes('@')) {
|
|
|
|
|
|
|
|
state.usersByNameObject[item.screen_name.toLowerCase()] = item
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
updateUserRelationship (state, relationships) {
|
|
|
|
updateUserRelationship (state, relationships) {
|
|
|
@ -239,12 +240,10 @@ export const mutations = {
|
|
|
|
|
|
|
|
|
|
|
|
export const getters = {
|
|
|
|
export const getters = {
|
|
|
|
findUser: state => query => {
|
|
|
|
findUser: state => query => {
|
|
|
|
const result = state.usersObject[query]
|
|
|
|
return state.usersObject[query]
|
|
|
|
// In case it's a screen_name, we can try searching case-insensitive
|
|
|
|
},
|
|
|
|
if (!result && typeof query === 'string') {
|
|
|
|
findUserByName: state => query => {
|
|
|
|
return state.usersObject[query.toLowerCase()]
|
|
|
|
return state.usersByNameObject[query.toLowerCase()]
|
|
|
|
}
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
findUserByUrl: state => query => {
|
|
|
|
findUserByUrl: state => query => {
|
|
|
|
return state.users
|
|
|
|
return state.users
|
|
|
@ -263,6 +262,7 @@ export const defaultState = {
|
|
|
|
currentUser: false,
|
|
|
|
currentUser: false,
|
|
|
|
users: [],
|
|
|
|
users: [],
|
|
|
|
usersObject: {},
|
|
|
|
usersObject: {},
|
|
|
|
|
|
|
|
usersByNameObject: {},
|
|
|
|
signUpPending: false,
|
|
|
|
signUpPending: false,
|
|
|
|
signUpErrors: [],
|
|
|
|
signUpErrors: [],
|
|
|
|
relationships: {}
|
|
|
|
relationships: {}
|
|
|
|