UserInfo.tsx 982 B

12345678910111213141516171819202122
  1. import { useInitials } from '@/common/hooks/useInitials';
  2. import { type User } from '@/common/types';
  3. import { Avatar, AvatarFallback, AvatarImage } from '@/shadcn/avatar';
  4. export function UserInfo({ user, showEmail = false }: { user: User; showEmail?: boolean }) {
  5. const getInitials = useInitials();
  6. return (
  7. <>
  8. <Avatar className="h-8 w-8 overflow-hidden rounded-full">
  9. <AvatarImage src={user.avatar} alt={user.name} />
  10. <AvatarFallback className="rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white">
  11. {getInitials(user.name)}
  12. </AvatarFallback>
  13. </Avatar>
  14. <div className="grid flex-1 text-left text-sm leading-tight">
  15. <span className="truncate font-medium">{user.name}</span>
  16. {showEmail && <span className="truncate text-xs text-muted-foreground">{user.email}</span>}
  17. </div>
  18. </>
  19. );
  20. }