diff options
| author | Henry Jameson <me@hjkos.com> | 2022-08-24 22:01:00 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2022-08-24 22:01:00 +0300 |
| commit | 4e339d9be34400465e336a9c589ebaea705802d1 (patch) | |
| tree | da3d62a4dcfb38ac5b8289c4a4894561d9518f73 /src/modules/users.js | |
| parent | e9ad922eeb3419185e30eaf99f11eadd0a7dee44 (diff) | |
| parent | 86302128ba7c3f0389f66ebb235f51f29d45c454 (diff) | |
Merge remote-tracking branch 'origin/develop' into scrolltotop
* origin/develop: (47 commits)
Update dependency eslint-plugin-vue to v9.4.0
Update dependency opn to v5
fix notices being under the navbar, also change offset to use variable
fix modals not having proper z index
reduce indexes to be below 9999 so that develop error messages appear above
Fix react & extra buttons not styled on tab-focus
Fix popover not popping up
Fix styling on Safari
Use :focus-visible instead of :focus for focus markers
Optimize Reply badge position
Add badges to status interacting buttons
Update dependency nightwatch to v2
Update dependency eslint-plugin-n to v15.2.5
Update dependency mocha to v10
Update dependency karma-coverage to v2
Update dependency sass to v1.54.5
Update dependency karma-firefox-launcher to v2
Update dependency vue-template-compiler to v2.7.9
Pin dependencies
Refresh yarn.lock
...
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 }) |
