Files
triggerdotdev--trigger.dev/apps/webapp/app/components/UserProfilePhoto.tsx
T
2026-07-13 13:32:57 +08:00

32 lines
876 B
TypeScript

import { UserCircleIcon } from "@heroicons/react/24/solid";
import { useOptionalUser } from "~/hooks/useUser";
import { cn } from "~/utils/cn";
export function UserProfilePhoto({ className }: { className?: string }) {
const user = useOptionalUser();
return <UserAvatar avatarUrl={user?.avatarUrl} name={user?.name} className={className} />;
}
export function UserAvatar({
avatarUrl,
name,
className,
}: {
avatarUrl?: string | null;
name?: string | null;
className?: string;
}) {
return avatarUrl ? (
<div className={cn("grid aspect-square place-items-center", className)}>
<img
className={cn("aspect-square rounded-full p-[7%]")}
src={avatarUrl}
alt={name ?? "User"}
referrerPolicy="no-referrer"
/>
</div>
) : (
<UserCircleIcon className={cn("aspect-square text-text-dimmed", className)} />
);
}