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.
44 lines
1.0 KiB
44 lines
1.0 KiB
import { useCallback } from 'react'; |
|
|
|
import { defineMessages, useIntl } from 'react-intl'; |
|
|
|
import { IconButton } from './icon_button'; |
|
|
|
const messages = defineMessages({ |
|
unblockDomain: { |
|
id: 'account.unblock_domain', |
|
defaultMessage: 'Unblock domain {domain}', |
|
}, |
|
}); |
|
|
|
interface Props { |
|
domain: string; |
|
onUnblockDomain: (domain: string) => void; |
|
} |
|
|
|
export const Domain: React.FC<Props> = ({ domain, onUnblockDomain }) => { |
|
const intl = useIntl(); |
|
|
|
const handleDomainUnblock = useCallback(() => { |
|
onUnblockDomain(domain); |
|
}, [domain, onUnblockDomain]); |
|
|
|
return ( |
|
<div className='domain'> |
|
<div className='domain__wrapper'> |
|
<span className='domain__domain-name'> |
|
<strong>{domain}</strong> |
|
</span> |
|
|
|
<div className='domain__buttons'> |
|
<IconButton |
|
active |
|
icon='unlock' |
|
title={intl.formatMessage(messages.unblockDomain, { domain })} |
|
onClick={handleDomainUnblock} |
|
/> |
|
</div> |
|
</div> |
|
</div> |
|
); |
|
};
|
|
|