refactor: change Avatar component to take a single variable instead of user or profile

This commit is contained in:
Twig 2025-07-17 16:18:18 +02:00
parent d2ff4ac87c
commit e339b1df10
No known key found for this signature in database
4 changed files with 21 additions and 17 deletions

View file

@ -13,25 +13,29 @@ import { NuxtImg } from '#components';
import type { GuildMemberResponse, UserResponse } from '~/types/interfaces';
const props = defineProps<{
user?: UserResponse,
member?: GuildMemberResponse,
profile: UserResponse | GuildMemberResponse,
}>();
let displayName: string
const displayName = getDisplayName(props.profile)
let displayAvatar: string | null
const user = props.user || props.member?.user
if (user) {
displayName = getDisplayName(props.member ?? user)
if (user.avatar) {
displayAvatar = user.avatar
} else if (!isCanvasBlocked()){
displayAvatar = generateDefaultIcon(displayName, user.uuid)
} else {
displayAvatar = null
if ("username" in props.profile) {
// assume it's a UserRespone
displayAvatar = props.profile.avatar
if (!displayAvatar) {
if (!isCanvasBlocked()) {
displayAvatar = generateDefaultIcon(displayName, props.profile.uuid)
}
}
} else {
// assume it's a GuildMemberResponse
displayAvatar = props.profile.user.avatar
if (!displayAvatar) {
if (!isCanvasBlocked()) {
displayAvatar = generateDefaultIcon(displayName, props.profile.user_uuid)
}
}
}