// Copyright 2017-2025 @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 && ( )} {isNominator && ( )} {isExternal && ( isMultisig ? ( ) : isProxied ? ( ) : ( ) )} {isInjected && ( )} {isDevelopment && ( )} {isCouncil && ( )} {isSociety && ( )} {isTechCommittee && ( )} {isSudo && ( )}
); } const StyledDiv = styled.div` .ui--Tag { margin: 0.2rem 1rem 0.2rem 0.571rem; } `; export default React.memo(Flags);