You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
822 B
32 lines
822 B
import { EmojiHTML } from '@/mastodon/components/emoji/html'; |
|
import CheckIcon from '@/material-icons/400-24px/check.svg?react'; |
|
|
|
import type { OnAttributeHandler } from '../utils/html'; |
|
|
|
import { Icon } from './icon'; |
|
|
|
const onAttribute: OnAttributeHandler = (name, value, tagName) => { |
|
if (name === 'rel' && tagName === 'a') { |
|
if (value === 'me') { |
|
return null; |
|
} |
|
return [ |
|
name, |
|
value |
|
.split(' ') |
|
.filter((x) => x !== 'me') |
|
.join(' '), |
|
]; |
|
} |
|
return undefined; |
|
}; |
|
|
|
interface Props { |
|
link: string; |
|
} |
|
export const VerifiedBadge: React.FC<Props> = ({ link }) => ( |
|
<span className='verified-badge'> |
|
<Icon id='check' icon={CheckIcon} className='verified-badge__mark' /> |
|
<EmojiHTML as='span' htmlString={link} onAttribute={onAttribute} /> |
|
</span> |
|
);
|
|
|