commit: 8f87a36a5a4d25b3b777a8642c07a242c1ec1ab7
parent: ec26ff04ce541c3ba5a7f89d57cd04f74e79cfcc
Author: Shpuld Shpludson <shp@cock.li>
Date: Tue, 7 Jul 2020 12:53:49 +0000
Merge branch '884-about-panel-optimizations' into 'develop'
StaffPanel: Move staff loading to panel creation.
Closes #884
See merge request pleroma/pleroma-fe!1171
Diffstat:
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git 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
@@ -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
@@ -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) => {