Browse Source

fix: fixed issue where sometimes usernames wouldn't show

Kristian Vos 5 years ago
parent
commit
88ae90a037
2 changed files with 11 additions and 13 deletions
  1. 9 13
      frontend/components/UserIdToUsername.vue
  2. 2 0
      frontend/store/modules/user.js

+ 9 - 13
frontend/components/UserIdToUsername.vue

@@ -1,36 +1,32 @@
 <template>
 	<router-link
-		v-if="$props.link && username"
-		:to="{ path: `/u/${userIdMap['Z' + $props.userId]}` }"
+		v-if="$props.link && username !== 'unknown'"
+		:to="{ path: `/u/${username}` }"
+		:title="userId"
 	>
-		{{ username ? username : "unknown" }}
+		{{ username }}
 	</router-link>
-	<span v-else>
-		{{ username ? username : "unknown" }}
+	<span :title="userId" v-else>
+		{{ username }}
 	</span>
 </template>
 
 <script>
-import { mapState, mapActions } from "vuex";
+import { mapActions } from "vuex";
 
 export default {
 	props: ["userId", "link"],
 	data() {
 		return {
-			username: ""
+			username: "unknown"
 		};
 	},
-	computed: {
-		...mapState("user/auth", {
-			userIdMap: state => state.userIdMap
-		})
-	},
 	methods: {
 		...mapActions("user/auth", ["getUsernameFromId"])
 	},
 	mounted() {
 		this.getUsernameFromId(this.$props.userId).then(res => {
-			this.username = res;
+			if (res) this.username = res;
 		});
 	}
 };

+ 2 - 0
frontend/store/modules/user.js

@@ -135,6 +135,8 @@ const modules = {
 								}
 							});
 						}
+					} else {
+						resolve(state.userIdMap[`Z${userId}`]);
 					}
 				});
 			}