diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-08-22 21:56:55 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-08-22 21:56:55 +0000 |
| commit | 88a3cf8705f925c31b5fad67d0fb709a51447156 (patch) | |
| tree | a04619162e7fbbf270551536c28276a6d39d4ed9 /src/modules/users.js | |
| parent | 8e97a40c700797819bf92c61398daff230404228 (diff) | |
| parent | ab4a75bdd92aba7973b6c32eb8ff11280552d6c6 (diff) | |
Merge branch 'from/develop/tusooa/user-profile-routes' into 'develop'
Stop generating /:nickname user profile routes
See merge request pleroma/pleroma-fe!1589
Diffstat (limited to 'src/modules/users.js')
| -rw-r--r-- | src/modules/users.js | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/modules/users.js b/src/modules/users.js index b6fb9746..be0bc997 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -16,9 +16,6 @@ export const mergeOrAdd = (arr, obj, item) => { // This is a new item, prepare it arr.push(item) obj[item.id] = item - if (item.screen_name && !item.screen_name.includes('@')) { - obj[item.screen_name.toLowerCase()] = item - } return { item, new: true } } } @@ -162,7 +159,11 @@ export const mutations = { if (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) { @@ -239,12 +240,10 @@ export const mutations = { export const getters = { findUser: state => query => { - const result = state.usersObject[query] - // In case it's a screen_name, we can try searching case-insensitive - if (!result && typeof query === 'string') { - return state.usersObject[query.toLowerCase()] - } - return result + return state.usersObject[query] + }, + findUserByName: state => query => { + return state.usersByNameObject[query.toLowerCase()] }, findUserByUrl: state => query => { return state.users @@ -263,6 +262,7 @@ export const defaultState = { currentUser: false, users: [], usersObject: {}, + usersByNameObject: {}, signUpPending: false, signUpErrors: [], relationships: {} @@ -285,6 +285,13 @@ const users = { return user }) }, + fetchUserByName (store, name) { + return store.rootState.api.backendInteractor.fetchUserByName({ name }) + .then((user) => { + store.commit('addNewUsers', [user]) + return user + }) + }, fetchUserRelationship (store, id) { if (store.state.currentUser) { store.rootState.api.backendInteractor.fetchUserRelationship({ id }) |
