123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import type { FC } from 'react'
- import classNames from 'classnames'
- import data from '@emoji-mart/data'
- import { init } from 'emoji-mart'
- import style from './style.module.css'
- init({ data })
- export type AppIconProps = {
- size?: 'tiny' | 'small' | 'medium' | 'large'
- rounded?: boolean
- icon?: string
- background?: string
- className?: string
- innerIcon?: React.ReactNode
- onClick?: () => void
- }
- const AppIcon: FC<AppIconProps> = ({
- size = 'medium',
- rounded = false,
- icon,
- background,
- className,
- innerIcon,
- onClick,
- }) => {
- return (
- <span
- className={classNames(
- style.appIcon,
- size !== 'medium' && style[size],
- rounded && style.rounded,
- className ?? '',
- )}
- style={{
- background,
- }}
- onClick={onClick}
- >
- {innerIcon || ((icon && icon !== '') ? <em-emoji id={icon} /> : <em-emoji id='🤖' />)}
- </span>
- )
- }
- export default AppIcon
|