Assign keys to account menu dividers (#4829)

This commit is contained in:
Jaco Greeff 2021-03-12 14:14:16 +01:00 committed by GitHub
parent 3b2054753e
commit b6f366b82e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 12 deletions

View File

@ -208,7 +208,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
);
const menuItems = useMemo(() => [
createMenuGroup([
createMenuGroup('identityGroup', [
isFunction(api.api.tx.identity?.setIdentity) && !isHardware && (
<Menu.Item
key='identityMain'
@ -242,7 +242,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
</Menu.Item>
)
]),
createMenuGroup([
createMenuGroup('deriveGroup', [
!(isExternal || isHardware || isInjected || isMultisig) && (
<Menu.Item
key='deriveAccount'
@ -260,7 +260,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
</Menu.Item>
)
]),
createMenuGroup([
createMenuGroup('backupGroup', [
!(isExternal || isHardware || isInjected || isMultisig || isDevelopment) && (
<Menu.Item
key='backupJson'
@ -286,7 +286,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
</Menu.Item>
)
]),
isFunction(api.api.tx.recovery?.createRecovery) && createMenuGroup([
isFunction(api.api.tx.recovery?.createRecovery) && createMenuGroup('reoveryGroup', [
!recoveryInfo && (
<Menu.Item
key='makeRecoverable'
@ -302,7 +302,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
{t('Initiate recovery for another')}
</Menu.Item>
]),
isFunction(api.api.tx.multisig?.asMulti) && isMultisig && createMenuGroup([
isFunction(api.api.tx.multisig?.asMulti) && isMultisig && createMenuGroup('multisigGroup', [
<Menu.Item
disabled={!multiInfos || !multiInfos.length}
key='multisigApprovals'
@ -311,7 +311,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
{t('Multisig approvals')}
</Menu.Item>
]),
isFunction(api.api.query.democracy?.votingOf) && delegation?.accountDelegated && createMenuGroup([
isFunction(api.api.query.democracy?.votingOf) && delegation?.accountDelegated && createMenuGroup('undelegateGroup', [
<Menu.Item
key='changeDelegate'
onClick={toggleDelegate}
@ -325,7 +325,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
{t('Undelegate')}
</Menu.Item>
]),
isFunction(api.api.query.democracy?.votingOf) && !delegation?.accountDelegated && createMenuGroup([
isFunction(api.api.query.democracy?.votingOf) && !delegation?.accountDelegated && createMenuGroup('delegateGroup', [
<Menu.Item
key='delegate'
onClick={toggleDelegate}
@ -333,7 +333,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
{t('Delegate democracy votes')}
</Menu.Item>
]),
isFunction(api.api.query.proxy?.proxies) && createMenuGroup([
isFunction(api.api.query.proxy?.proxies) && createMenuGroup('proxyGroup', [
<Menu.Item
key='proxy-overview'
onClick={toggleProxyOverview}
@ -344,7 +344,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
}
</Menu.Item>
]),
isEditable && !api.isDevelopment && createMenuGroup([
isEditable && !api.isDevelopment && createMenuGroup('genesisGroup', [
<ChainLock
className='accounts--network-toggle'
genesisHash={genesisHash}

View File

@ -240,7 +240,7 @@ function Overview ({ className = '', onStatusChange }: Props): React.ReactElemen
delegation={delegation}
filter={filterOn}
isFavorite={isFavorite}
key={account.address}
key={`${index}:${account.address}`}
proxy={proxies?.[index]}
setBalance={_setBalance}
toggleFavorite={toggleFavorite}

View File

@ -9,11 +9,11 @@ import React from 'react';
import { Menu } from '@polkadot/react-components';
import { keyring } from '@polkadot/ui-keyring';
export function createMenuGroup (items: (React.ReactNode | false | undefined | null)[]): React.ReactNode | null {
export function createMenuGroup (key: string, items: (React.ReactNode | false | undefined | null)[]): React.ReactNode | null {
const filtered = items.filter((item): item is React.ReactNode => !!item);
return filtered.length
? <><Menu.Divider />{filtered}</>
? <React.Fragment key={key}><Menu.Divider />{filtered}</React.Fragment>
: null;
}