MemberGradeBadge.tsx 720 B

1234567891011121314151617181920212223242526
  1. 'use client';
  2. import type { CSSProperties } from 'react';
  3. import type { MemberGradeDto } from '@/types/response/ranking';
  4. interface Props {
  5. grade: MemberGradeDto|null|undefined;
  6. }
  7. export default function MemberGradeBadge({ grade }: Props) {
  8. if (!grade) {
  9. return null;
  10. }
  11. const badgeStyle = grade.textColor ? ({ '--grade-color': grade.textColor } as CSSProperties) : undefined;
  12. return (
  13. <span className="ranking__grade-badge" style={badgeStyle} title={grade.korName}>
  14. {grade.image ? (
  15. // eslint-disable-next-line @next/next/no-img-element
  16. <img src={grade.image} alt="" className="ranking__grade-icon" />
  17. ) : null}
  18. <span className="ranking__grade-name">{grade.korName}</span>
  19. </span>
  20. );
  21. }