Files
calendar/packages/features/insights/components/TotalBookingUsersTable.tsx
T
Eunjae LeeandGitHub 1878802213 fix: update styles of charts on /insights (#22557)
* fix: update styles of charts on /insights

* clean up

* clean up

* share the same styles with ChartCardItem

* margin for event trends

* fix type error
2025-07-17 14:42:35 +00:00

46 lines
1.3 KiB
TypeScript

import { getUserAvatarUrl } from "@calcom/lib/getAvatarUrl";
import type { User } from "@calcom/prisma/client";
import { Avatar } from "@calcom/ui/components/avatar";
import { ChartCardItem } from "./ChartCard";
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 (
<div className="overflow-hidden rounded-md">
{filteredData.length > 0 ? (
filteredData.map((item) => (
<ChartCardItem key={item.userId} count={item.count}>
<div className="flex items-center">
<Avatar
alt={item.user.name || ""}
size="sm"
imageSrc={getUserAvatarUrl({ avatarUrl: item.user.avatarUrl })}
title={item.user.name || ""}
className="mr-3"
/>
<div>{item.user.name}</div>
</div>
</ChartCardItem>
))
) : (
<div className="flex h-60 text-center">
<p className="m-auto text-sm font-light">No members found</p>
</div>
)}
</div>
);
};