fix: show email and avatar for pending members

This commit is contained in:
Henry
2025-05-28 21:51:41 +01:00
parent feeb2f675b
commit 47ddf0a048
6 changed files with 14 additions and 11 deletions

View File

@@ -27,7 +27,7 @@ const Avatar = ({
}) => { }) => {
const initials = name const initials = name
? getInitialsFromName(name) ? getInitialsFromName(name)
: inferInitialsFromEmail(email ?? ""); : inferInitialsFromEmail(email);
return ( return (
<> <>

View File

@@ -12,6 +12,7 @@ const Card = ({
labels: { name: string; colourCode: string | null }[]; labels: { name: string; colourCode: string | null }[];
members: { members: {
publicId: string; publicId: string;
email: string;
user: { name: string | null; email: string; image: string | null } | null; user: { name: string | null; email: string; image: string | null } | null;
}[]; }[];
}) => { }) => {
@@ -29,17 +30,15 @@ const Card = ({
))} ))}
</div> </div>
<div className="isolate flex justify-end -space-x-1 overflow-hidden"> <div className="isolate flex justify-end -space-x-1 overflow-hidden">
{members.map(({ user }) => { {members.map(({ user, email }) => {
if (!user) return null; const avatarUrl = user?.image
const avatarUrl = user.image
? getAvatarUrl(user.image) ? getAvatarUrl(user.image)
: undefined; : undefined;
return ( return (
<Avatar <Avatar
name={user.name ?? ""} name={user?.name ?? ""}
email={user.email} email={user?.email ?? email}
imageUrl={avatarUrl} imageUrl={avatarUrl}
size="sm" size="sm"
/> />

View File

@@ -149,7 +149,7 @@ export function NewCardForm({
key: member.publicId, key: member.publicId,
value: formatMemberDisplayName( value: formatMemberDisplayName(
member.user?.name ?? null, member.user?.name ?? null,
member.user?.email ?? null, member.user?.email ?? member.email,
), ),
leftIcon: ( leftIcon: (
<Avatar <Avatar
@@ -158,7 +158,7 @@ export function NewCardForm({
imageUrl={ imageUrl={
member.user?.image ? getAvatarUrl(member.user.image) : undefined member.user?.image ? getAvatarUrl(member.user.image) : undefined
} }
email={member.user?.email ?? ""} email={member.user?.email ?? member.email}
/> />
), ),
})) ?? []; })) ?? [];

View File

@@ -89,7 +89,7 @@ export default function CardPage() {
key: member.publicId, key: member.publicId,
value: formatMemberDisplayName( value: formatMemberDisplayName(
member.user?.name ?? null, member.user?.name ?? null,
member.user?.email ?? null, member.user?.email ?? member.email,
), ),
imageUrl: member.user?.image imageUrl: member.user?.image
? getAvatarUrl(member.user.image) ? getAvatarUrl(member.user.image)
@@ -102,7 +102,7 @@ export default function CardPage() {
imageUrl={ imageUrl={
member.user?.image ? getAvatarUrl(member.user.image) : undefined member.user?.image ? getAvatarUrl(member.user.image) : undefined
} }
email={member.user?.email ?? ""} email={member.user?.email ?? member.email}
/> />
), ),
}; };

View File

@@ -93,6 +93,7 @@ export const getByPublicId = async (
members: { members: {
columns: { columns: {
publicId: true, publicId: true,
email: true,
}, },
with: { with: {
user: { user: {
@@ -148,6 +149,7 @@ export const getByPublicId = async (
member: { member: {
columns: { columns: {
publicId: true, publicId: true,
email: true,
deletedAt: true, deletedAt: true,
}, },
with: { with: {

View File

@@ -336,6 +336,7 @@ export const getWithListAndMembersByPublicId = async (
members: { members: {
columns: { columns: {
publicId: true, publicId: true,
email: true,
}, },
with: { with: {
user: { user: {
@@ -362,6 +363,7 @@ export const getWithListAndMembersByPublicId = async (
member: { member: {
columns: { columns: {
publicId: true, publicId: true,
email: true,
}, },
with: { with: {
user: { user: {