Files
calendar/packages/features/insights/components/TotalBookingUsersTable.tsx
T
Keith WilliamsandGitHub ef1b5067c2 fix: Undefined user in insights data (#16365)
* fix: Null user in insights data

* renaming
2024-08-26 17:43:04 -07:00

57 lines
1.7 KiB
TypeScript

import { Table, TableBody, TableCell, TableRow, Text } from "@tremor/react";
import { getUserAvatarUrl } from "@calcom/lib/getAvatarUrl";
import type { User } from "@calcom/prisma/client";
import { Avatar } from "@calcom/ui";
export const TotalBookingUsersTable = ({
data,
}: {
data:
| {
userId: number | null;
user: Pick<User, "avatarUrl" | "name">;
emailMd5?: string;
count: number;
username?: string;
}[]
| undefined;
}) => {
const filteredData = data && data?.length > 0 ? data?.filter((item) => !!item.user) : [];
return (
<Table>
<TableBody>
<>
{filteredData.length > 0 ? (
filteredData.map((item) => (
<TableRow key={item.userId}>
<TableCell className="flex flex-row">
<Avatar
alt={item.user.name || ""}
size="sm"
imageSrc={getUserAvatarUrl({ avatarUrl: item.user.avatarUrl })}
title={item.user.name || ""}
className="m-2"
/>
<p className="text-default mx-0 my-auto">
<strong>{item.user.name}</strong>
</p>
</TableCell>
<TableCell className="text-right">
<Text>
<strong className="text-default">{item.count}</strong>
</Text>
</TableCell>
</TableRow>
))
) : (
<TableRow>
<TableCell>No members found</TableCell>
</TableRow>
)}
</>
</TableBody>
</Table>
);
};