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
if (user) {
displayName = getDisplayName(user, props.member)
displayName = getDisplayName(props.member ?? user)
if (user.avatar) {
displayAvatar = user.avatar

View file

@ -1,7 +1,7 @@
<template>
<div class="member-item" @click="togglePopup" @blur="hidePopup" tabindex="0">
<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" />
</div>
</template>

View file

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