// Copyright 2017-2023 @polkadot/react-components authors & contributors // SPDX-License-Identifier: Apache-2.0 import type { AddressFlags } from '@polkadot/react-hooks/types'; import React from 'react'; import Flag from '../Flag.js'; import { styled } from '../styled.js'; import { useTranslation } from '../translate.js'; interface Props { flags: AddressFlags; className?: string; } function Flags ({ className = '', flags: { isCouncil, isDevelopment, isExternal, isInjected, isMultisig, isNominator, isProxied, isSociety, isSudo, isTechCommittee, isValidator } }: Props): React.ReactElement | null { const { t } = useTranslation(); const hasFlags = isCouncil || isDevelopment || isExternal || isInjected || isMultisig || isProxied || isSociety || isSudo || isTechCommittee || isValidator || isNominator; if (!hasFlags) { return null; } return ( { hasFlags && (
{t('Flags')}
) }
{isValidator && ( ('Validator')} /> )} {isNominator && ( ('Nominator')} /> )} {isExternal && ( isMultisig ? ( ('Multisig')} /> ) : isProxied ? ( ('Proxied')} /> ) : ( ('External')} /> ) )} {isInjected && ( ('Injected')} /> )} {isDevelopment && ( ('Test account')} /> )} {isCouncil && ( ('Council')} /> )} {isSociety && ( ('Society')} /> )} {isTechCommittee && ( ('Technical committee')} /> )} {isSudo && ( ('Sudo key')} /> )}
); } const StyledDiv = styled.div` .ui--Tag { margin: 0.2rem 1rem 0.2rem 0.571rem; } `; export default React.memo(Flags);