feat(dashboard): allow selecting which avatar to show in list

This commit is contained in:
Jake Fulmine 2023-09-21 13:23:44 +02:00
parent 94e848ee4c
commit 1777070694
14 changed files with 120 additions and 24 deletions

View file

@ -9,6 +9,8 @@
export let item: any;
export let searchBy: string = null;
export let type: "member"|"group"|"system"
export let avatarUsed: "proxy"|"avatar"|"proxy_only"|"avatar_only"
export let sortBy: string = null;
let htmlNamePromise: Promise<string>;
@ -24,8 +26,20 @@
if (nameElement) twemoji.parse(nameElement, { base: 'https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/' });
}
$: icon_url = item.avatar_url ? item.avatar_url : item.icon ? item.icon : default_avatar;
$: icon_url_resized = resizeMedia(icon_url)
let icon_url: string = default_avatar
$: if (type === "group") {
if (item.icon) icon_url = item.icon
} else if (avatarUsed === "proxy" || avatarUsed === "proxy_only") {
if (item.webhook_avatar_url) icon_url = item.webhook_avatar_url
else if (avatarUsed === "proxy_only") icon_url = default_avatar
else icon_url = item.avatar_url || default_avatar
} else {
if (item.avatar_url) icon_url = item.avatar_url
else if (avatarUsed === "avatar_only") icon_url = default_avatar
else icon_url = item.webhook_avatar_url ?? default_avatar
}
$: icon_url_resized = icon_url ? resizeMedia(icon_url) : default_avatar
let avatarOpen = false;
const toggleAvatarModal = () => (avatarOpen = !avatarOpen);