refactor: change getDisplayName to take in a single variable instead of two

This commit is contained in:
Twig 2025-07-17 15:11:55 +02:00
parent 5f2267a448
commit b8cbbf1f86
No known key found for this signature in database
3 changed files with 13 additions and 6 deletions

View file

@ -24,7 +24,7 @@ let displayAvatar: string | null
const user = props.user || props.member?.user const user = props.user || props.member?.user
if (user) { if (user) {
displayName = getDisplayName(user, props.member) displayName = getDisplayName(props.member ?? user)
if (user.avatar) { if (user.avatar) {
displayAvatar = user.avatar displayAvatar = user.avatar

View file

@ -1,7 +1,7 @@
<template> <template>
<div class="member-item" @click="togglePopup" @blur="hidePopup" tabindex="0"> <div class="member-item" @click="togglePopup" @blur="hidePopup" tabindex="0">
<Avatar :member="props.member" class="member-avatar"/> <Avatar :member="props.member" class="member-avatar"/>
<span class="member-display-name">{{ getDisplayName(props.member.user, props.member) }}</span> <span class="member-display-name">{{ getDisplayName(props.member) }}</span>
<UserPopup v-if="isPopupVisible" :user="props.member.user" id="profile-popup" /> <UserPopup v-if="isPopupVisible" :user="props.member.user" id="profile-popup" />
</div> </div>
</template> </template>

View file

@ -1,7 +1,14 @@
import type { GuildMemberResponse, UserResponse } from "~/types/interfaces"; import type { GuildMemberResponse, UserResponse } from "~/types/interfaces";
export function getDisplayName(user: UserResponse, member?: GuildMemberResponse): string { export default (profile: UserResponse | GuildMemberResponse): string => {
if (member?.nickname) return member.nickname if ("username" in profile) {
if (user.display_name) return user.display_name // assume it's a UserRespone
return user.username if (profile.display_name) return profile.display_name
return profile.username
} else {
// assume it's a GuildMemberResponse
if (profile.nickname) return profile.nickname
if (profile.user.display_name) return profile.user.display_name
return profile.user.username
}
} }