AcadeDoc/apps/client/src/components/ui/user-avatar.tsx
Philipinho 1412f1d982 client: updates
* work on groups ui
* move settings to its own page
* other fixes and refactoring
2024-04-04 22:19:15 +01:00

32 lines
765 B
TypeScript

import React from "react";
import { Avatar } from "@mantine/core";
interface UserAvatarProps {
avatarUrl: string;
name: string;
color?: string;
size?: string | number;
radius?: string | number;
style?: any;
component?: any;
}
export const UserAvatar = React.forwardRef<HTMLInputElement, UserAvatarProps>(
({ avatarUrl, name, ...props }: UserAvatarProps, ref) => {
const getInitials = (name: string) => {
const names = name?.split(" ");
return names
?.slice(0, 2)
.map((n) => n[0])
.join("");
};
return avatarUrl ? (
<Avatar ref={ref} src={avatarUrl} alt={name} radius="xl" {...props} />
) : (
<Avatar ref={ref} {...props}>
{getInitials(name)}
</Avatar>
);
},
);