/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { observer } from "mobx-react"; // icons import type { LucideIcon } from "lucide-react"; import { MembersPropertyIcon } from "@plane/propel/icons"; // plane ui import { Avatar, AvatarGroup } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; // hooks import { useMember } from "@/hooks/store/use-member"; // import type { TPublicMember } from "@/types/member"; type Props = { memberIds: string[]; shouldShowBorder?: boolean; }; type AvatarProps = { showTooltip: boolean; members: TPublicMember[]; icon?: LucideIcon; }; export const ButtonAvatars = observer(function ButtonAvatars(props: AvatarProps) { const { showTooltip, members, icon: Icon } = props; if (Array.isArray(members)) { if (members.length > 1) { return ( {members.map((member) => { if (!member) return; return ; })} ); } else if (members.length === 1) { return ( ); } } return Icon ? ( ) : ( ); }); export const IssueBlockMembers = observer(function IssueBlockMembers({ memberIds, shouldShowBorder = true }: Props) { const { getMembersByIds } = useMember(); const members = getMembersByIds(memberIds); return (
{!shouldShowBorder && members.length <= 1 && ( {members?.[0]?.member__display_name ?? "No Assignees"} )}
); });