diff --git a/apps/web/components/eventtype/EventTeamTab.tsx b/apps/web/components/eventtype/EventTeamTab.tsx index 68cda606aa..5767895389 100644 --- a/apps/web/components/eventtype/EventTeamTab.tsx +++ b/apps/web/components/eventtype/EventTeamTab.tsx @@ -19,16 +19,17 @@ interface IUserToValue { email: string; } -const mapUserToValue = ({ id, name, username, email }: IUserToValue) => ({ +const mapUserToValue = ({ id, name, username, email }: IUserToValue, pendingString: string) => ({ value: `${id || ""}`, - label: `${name || ""}`, + label: `${name || email || ""}${!username ? ` (${pendingString})` : ""}`, avatar: `${WEBAPP_URL}/${username}/avatar.png`, email, }); export const mapMemberToChildrenOption = ( member: EventTypeSetupProps["teamMembers"][number], - slug: string + slug: string, + pendingString: string ) => { return { slug, @@ -43,7 +44,7 @@ export const mapMemberToChildrenOption = ( eventTypeSlugs: member.eventTypes ?? [], }, value: `${member.id ?? ""}`, - label: member.name ?? "", + label: `${member.name || member.email || ""}${!member.username ? ` (${pendingString})` : ""}`, }; }; @@ -291,9 +292,13 @@ export const EventTeamTab = ({ // description: t("round_robin_description"), }, ]; - const teamMembersOptions = teamMembers.map(mapUserToValue); - const childrenEventTypeOptions = teamMembers.map((member) => { - return mapMemberToChildrenOption(member, eventType.slug); + const pendingMembers = (member: (typeof teamMembers)[number]) => + !!eventType.team?.parentId || !!member.username; + const teamMembersOptions = teamMembers + .filter(pendingMembers) + .map((member) => mapUserToValue(member, t("pending"))); + const childrenEventTypeOptions = teamMembers.filter(pendingMembers).map((member) => { + return mapMemberToChildrenOption(member, eventType.slug, t("pending")); }); const isManagedEventType = eventType.schedulingType === SchedulingType.MANAGED; return ( diff --git a/apps/web/pages/team/[slug].tsx b/apps/web/pages/team/[slug].tsx index c16c343e44..4dd23b61d8 100644 --- a/apps/web/pages/team/[slug].tsx +++ b/apps/web/pages/team/[slug].tsx @@ -130,7 +130,9 @@ function TeamPage({ team, isUnpublished, markdownStrippedBio, isValidOrgDomain }
{ch.name} - {t("number_member", { count: ch.members.length })} + {t("number_member", { + count: ch.members.filter((mem) => mem.user.username !== null).length, + })}
@@ -138,11 +140,13 @@ function TeamPage({ team, isUnpublished, markdownStrippedBio, isValidOrgDomain } className="mr-6" size="sm" truncateAfter={4} - items={ch.members.map(({ user: member }) => ({ - alt: member.name || "", - image: `/${member.username}/avatar.png`, - title: member.name || "", - }))} + items={ch.members + .filter((mem) => mem.user.username !== null) + .map(({ user: member }) => ({ + alt: member.name || "", + image: `/${member.username}/avatar.png`, + title: member.name || "", + }))} /> diff --git a/packages/features/eventtypes/components/ChildrenEventTypeSelect.tsx b/packages/features/eventtypes/components/ChildrenEventTypeSelect.tsx index a7813d427e..e5eac2311a 100644 --- a/packages/features/eventtypes/components/ChildrenEventTypeSelect.tsx +++ b/packages/features/eventtypes/components/ChildrenEventTypeSelect.tsx @@ -62,12 +62,12 @@ export const ChildrenEventTypeSelect = ({ size="mdLg" className="overflow-visible" imageSrc={`${CAL_URL}/${children.owner.username}/avatar.png`} - alt={children.owner.name || ""} + alt={children.owner.name || children.owner.email || ""} />
- {children.owner.name} + {children.owner.name || children.owner.email}
{children.owner.membership === MembershipRole.OWNER ? ( {t("owner")} @@ -77,9 +77,11 @@ export const ChildrenEventTypeSelect = ({ {children.hidden && {t("hidden")}}
- - {`/${children.owner.username}/${children.slug}`} - + {children.owner.username && ( + + {`/${children.owner.username}/${children.slug}`} + + )}
@@ -97,7 +99,7 @@ export const ChildrenEventTypeSelect = ({
- {children.created && ( + {children.created && children.owner.username && (