diff --git a/dashboard/src/components/common/CardsHeader.svelte b/dashboard/src/components/common/CardsHeader.svelte index 53b0f854..d1e54e6a 100644 --- a/dashboard/src/components/common/CardsHeader.svelte +++ b/dashboard/src/components/common/CardsHeader.svelte @@ -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; @@ -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); diff --git a/dashboard/src/components/list/CardView.svelte b/dashboard/src/components/list/CardView.svelte index 41181bc2..9c568d7b 100644 --- a/dashboard/src/components/list/CardView.svelte +++ b/dashboard/src/components/list/CardView.svelte @@ -7,10 +7,11 @@ import type { Member, Group } from '../../api/types'; import MemberCard from '../member/CardView.svelte'; import GroupCard from '../group/CardView.svelte'; - import type { PageOptions } from './types'; + import type { ListOptions, PageOptions } from './types'; export let pageOptions: PageOptions; export let currentList: Member[]|Group[]; + export let listOptions: ListOptions; let copiedItems = {}; @@ -50,7 +51,7 @@ {#if pageOptions.type === "member"} {#each currentList as item (item.uuid)}
- + - +