From cc5e3ed12339e004b43807991f80de997aee9fab Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Fri, 3 Jul 2020 14:17:39 +0200 Subject: [PATCH] fix #12364, profile of logged in user did not show up correctly --- .../src/components/userMenu/profile.vue | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/website/client/src/components/userMenu/profile.vue b/website/client/src/components/userMenu/profile.vue index 84a2e89eef..6eed23f91e 100644 --- a/website/client/src/components/userMenu/profile.vue +++ b/website/client/src/components/userMenu/profile.vue @@ -858,33 +858,37 @@ export default { }); } else if (response.status && response.status === 200) { user = response.data.data; - - this.editingProfile.name = user.profile.name; - this.editingProfile.imageUrl = user.profile.imageUrl; - this.editingProfile.blurb = user.profile.blurb; - - if (!user.achievements.quests) user.achievements.quests = {}; - if (!user.achievements.challenges) user.achievements.challenges = {}; - // @TODO: this common code should handle the above - this.achievements = achievementsLib.getAchievementsForProfile(user); - - const achievementsCategories = {}; - Object.keys(this.achievements).forEach(category => { - achievementsCategories[category] = { - open: false, - number: Object.keys(this.achievements[category].achievements).length, - }; - }); - - this.achievementsCategories = achievementsCategories; - - // @TODO For some reason markdown doesn't seem to be handling numbers or maybe undefined? - user.profile.blurb = user.profile.blurb ? `${user.profile.blurb}` : ''; } - this.user = user; } else { - this.user = this.userLoggedIn; + user = this.userLoggedIn; } + + if (user) { + this.editingProfile.name = user.profile.name; + this.editingProfile.imageUrl = user.profile.imageUrl; + this.editingProfile.blurb = user.profile.blurb; + + if (!user.achievements.quests) user.achievements.quests = {}; + if (!user.achievements.challenges) user.achievements.challenges = {}; + // @TODO: this common code should handle the above + this.achievements = achievementsLib.getAchievementsForProfile(user); + + const achievementsCategories = {}; + Object.keys(this.achievements).forEach(category => { + achievementsCategories[category] = { + open: false, + number: Object.keys(this.achievements[category].achievements).length, + }; + }); + + this.achievementsCategories = achievementsCategories; + + // @TODO For some reason markdown doesn't seem to be handling numbers or maybe undefined? + user.profile.blurb = user.profile.blurb ? `${user.profile.blurb}` : ''; + + this.user = user; + } + this.userLoaded = true; }, selectPage (page) {