| 'use client' | |
| import type { FC } from 'react' | |
| import { init } from 'emoji-mart' | |
| import data from '@emoji-mart/data' | |
| import classNames from '@/utils/classnames' | |
| import type { AppIconType } from '@/types/app' | |
| init({ data }) | |
| export type AnswerIconProps = { | |
| iconType?: AppIconType | null | |
| icon?: string | null | |
| background?: string | null | |
| imageUrl?: string | null | |
| } | |
| const AnswerIcon: FC<AnswerIconProps> = ({ | |
| iconType, | |
| icon, | |
| background, | |
| imageUrl, | |
| }) => { | |
| const wrapperClassName = classNames( | |
| 'flex', | |
| 'items-center', | |
| 'justify-center', | |
| 'w-full', | |
| 'h-full', | |
| 'rounded-full', | |
| 'border-[0.5px]', | |
| 'border-black/5', | |
| 'text-xl', | |
| ) | |
| const isValidImageIcon = iconType === 'image' && imageUrl | |
| return <div | |
| className={wrapperClassName} | |
| style={{ background: background || '#D5F5F6' }} | |
| > | |
| {isValidImageIcon | |
| ? <img src={imageUrl} className="w-full h-full rounded-full" alt="answer icon" /> | |
| : (icon && icon !== '') ? <em-emoji id={icon} /> : <em-emoji id='🤖' /> | |
| } | |
| </div> | |
| } | |
| export default AnswerIcon | |