diff options
| author | lain <lain@soykaf.club> | 2020-07-07 14:39:43 +0200 |
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-07-07 14:39:43 +0200 |
| commit | 431b3f527deb318b723e3d2a41f560b970697dff (patch) | |
| tree | 923669da977702c7672c8ac61b8df53bd2d3ebd8 /src | |
| parent | bbb977a04475a445fc0588af86b3c5eb33ec0577 (diff) | |
StaffPanel: Move staff loading to panel creation.
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot/after_store.js | 1 | ||||
| -rw-r--r-- | src/components/staff_panel/staff_panel.js | 4 | ||||
| -rw-r--r-- | src/modules/users.js | 5 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 47524112..302b278c 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -215,7 +215,6 @@ const getAppSecret = async ({ store }) => { const resolveStaffAccounts = ({ store, accounts }) => { const nicknames = accounts.map(uri => uri.split('/').pop()) - nicknames.map(nickname => store.dispatch('fetchUser', nickname)) store.dispatch('setInstanceOption', { name: 'staffAccounts', value: nicknames }) } diff --git a/src/components/staff_panel/staff_panel.js b/src/components/staff_panel/staff_panel.js index 4f98fff6..8c2abcd8 100644 --- a/src/components/staff_panel/staff_panel.js +++ b/src/components/staff_panel/staff_panel.js @@ -2,6 +2,10 @@ import map from 'lodash/map' import BasicUserCard from '../basic_user_card/basic_user_card.vue' const StaffPanel = { + created() { + const nicknames = this.$store.state.instance.staffAccounts + nicknames.forEach(nickname => this.$store.dispatch('fetchUserIfMissing', nickname)) + }, components: { BasicUserCard }, diff --git a/src/modules/users.js b/src/modules/users.js index 68d02931..7e136c61 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -266,6 +266,11 @@ const users = { mutations, getters, actions: { + fetchUserIfMissing (store, id) { + if (!store.getters.findUser(id)) { + store.dispatch('fetchUser', id) + } + }, fetchUser (store, id) { return store.rootState.api.backendInteractor.fetchUser({ id }) .then((user) => { |
