* Icon and IconName * Button and ButtonGroup * UserAvatar * AvatarGroup * Avatar * WizardLayout * Dialogs * EmptyScreen * showToast and TextField * Editor * Skeleton * Skeleton * TopBanner and showToast * Button again * more * perf: Remove app-store reference from @calcom/ui * more * Fixing types * Icon * Fixed casing * dropdown * more * Select * more * Badge * List * more * Divider * more * fix * fix type check * refactor * fix * fix * fix * fix * fix * fix * fix * fix type check * fix * fix * fix * fix * more * more * more * more * add index file to components/command * fix * fix * fix * fix imports * fix * fix * fix * fix * fix * fix * fix * fix build errors * fix build errors * fix --------- Co-authored-by: Keith Williams <keithwillcode@gmail.com>
57 lines
1.7 KiB
TypeScript
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/components/avatar";
|
|
|
|
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>
|
|
);
|
|
};
|