All files / src/components/pages/user/profile/profile-card index.tsx

100% Statements 28/28
50% Branches 1/2
100% Functions 1/1
100% Lines 28/28

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 291x 1x 1x 1x 1x 1x 1x 1x 1x 1x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x  
import { DEFAULT_PROFILE_IMAGE } from 'constants/default-images';
 
import { ImageWithFallback } from '@/components/ui';
import { User } from '@/types/service/user';
 
interface Props {
  user: User;
}
 
export const ProfileCard = ({ user }: Props) => {
  const { profileImage, nickName, profileMessage } = user;
  return (
    <div className='flex-col-center mb-6'>
      <div className='relative mb-3 size-24 overflow-hidden rounded-full'>
        <ImageWithFallback
          className='object-cover'
          alt='프로필 이미지'
          fallbackSrc={DEFAULT_PROFILE_IMAGE}
          fill
          loading='eager'
          src={profileImage || ''}
        />
      </div>
      <h1 className='text-text-xl-bold text-gray-900'>{nickName}</h1>
      <p className='text-text-sm-medium text-gray-600'>{profileMessage}</p>
    </div>
  );
};