| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- 'use client'
 
- import { useState } from 'react'
 
- import cn from '@/utils/classnames'
 
- export type AvatarProps = {
 
-   name: string
 
-   avatar: string | null
 
-   size?: number
 
-   className?: string
 
-   textClassName?: string
 
- }
 
- const Avatar = ({
 
-   name,
 
-   avatar,
 
-   size = 30,
 
-   className,
 
-   textClassName,
 
- }: AvatarProps) => {
 
-   const avatarClassName = 'shrink-0 flex items-center rounded-full bg-primary-600'
 
-   const style = { width: `${size}px`, height: `${size}px`, fontSize: `${size}px`, lineHeight: `${size}px` }
 
-   const [imgError, setImgError] = useState(false)
 
-   const handleError = () => {
 
-     setImgError(true)
 
-   }
 
-   if (avatar && !imgError) {
 
-     return (
 
-       <img
 
-         className={cn(avatarClassName, className)}
 
-         style={style}
 
-         alt={name}
 
-         src={avatar}
 
-         onError={handleError}
 
-       />
 
-     )
 
-   }
 
-   return (
 
-     <div
 
-       className={cn(avatarClassName, className)}
 
-       style={style}
 
-     >
 
-       <div
 
-         className={cn(textClassName, 'scale-[0.4] text-center text-white')}
 
-         style={style}
 
-       >
 
-         {name[0].toLocaleUpperCase()}
 
-       </div>
 
-     </div>
 
-   )
 
- }
 
- export default Avatar
 
 
  |