'use client';
interface IconFontProps {
  /** 图标名称，对应 iconfont 中的图标 ID */
  type: string;
  /** 图标大小，如果不传则继承父元素的 font-size */
  size?: number;
  /** 图标颜色，默认 currentColor（继承父元素颜色） */
  color?: string;
  /** 额外的 className */
  className?: string;
}

const IconFont = ({
  type,
  size,
  color = 'currentColor',
  className = '',
}: IconFontProps) => {
  // 如果传了 size，使用内联样式；否则不设置 fontSize，让它继承父元素的 font-size
  const style = size ? { fontSize: size, color } : { color };

  return (
    <svg className={`iconfont ${className}`} style={style} aria-hidden="true">
      <use xlinkHref={`#${type}`}></use>
    </svg>
  );
};
export default IconFont;
