From f59dec11d3a7abec230a1c11bb7f7d469324b091 Mon Sep 17 00:00:00 2001 From: Jaco Date: Sun, 14 Aug 2022 08:49:43 +0200 Subject: [PATCH] Short info blurb for linked chains (#7989) --- packages/apps-config/src/endpoints/types.ts | 1 + packages/apps-config/src/endpoints/util.ts | 3 +++ packages/apps/src/Endpoints/Network.tsx | 27 +++++++++++++++++++-- packages/apps/src/Endpoints/index.tsx | 3 +++ packages/apps/src/Endpoints/types.ts | 3 +++ 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/packages/apps-config/src/endpoints/types.ts b/packages/apps-config/src/endpoints/types.ts index 19c5d3f839..cae964740b 100644 --- a/packages/apps-config/src/endpoints/types.ts +++ b/packages/apps-config/src/endpoints/types.ts @@ -36,6 +36,7 @@ export interface LinkOption extends Option { summary?: string; teleport?: number[]; textBy: string; + textRelay?: React.ReactNode; value: string; valueRelay?: string[]; } diff --git a/packages/apps-config/src/endpoints/util.ts b/packages/apps-config/src/endpoints/util.ts index a5c23a47b0..4fff10a4fe 100644 --- a/packages/apps-config/src/endpoints/util.ts +++ b/packages/apps-config/src/endpoints/util.ts @@ -33,6 +33,9 @@ function expandLinked (input: LinkOption[]): LinkOption[] { expandLinked(entry.linked).map((child): LinkOption => { child.genesisHashRelay = entry.genesisHash; child.isChild = true; + child.textRelay = input.length + ? input[0].text + : undefined; child.valueRelay = valueRelay; return child; diff --git a/packages/apps/src/Endpoints/Network.tsx b/packages/apps/src/Endpoints/Network.tsx index dbe9e56436..d18fe47afd 100644 --- a/packages/apps/src/Endpoints/Network.tsx +++ b/packages/apps/src/Endpoints/Network.tsx @@ -8,6 +8,7 @@ import styled from 'styled-components'; import { ChainImg } from '@polkadot/react-components'; +import { useTranslation } from '../translate'; import Url from './Url'; interface Props { @@ -18,7 +19,8 @@ interface Props { value: Network; } -function NetworkDisplay ({ apiUrl, className = '', setApiUrl, value: { icon, isChild, isUnreachable, name, providers } }: Props): React.ReactElement { +function NetworkDisplay ({ apiUrl, className = '', setApiUrl, value: { icon, isChild, isRelay, isUnreachable, name, nameRelay: relay, paraId, providers } }: Props): React.ReactElement { + const { t } = useTranslation(); const isSelected = useMemo( () => providers.some(({ url }) => url === apiUrl), [apiUrl, providers] @@ -50,7 +52,21 @@ function NetworkDisplay ({ apiUrl, className = '', setApiUrl, value: { icon, isC logo={icon === 'local' ? 'empty' : (icon || 'empty')} withoutHl /> -
{name}
+
+
{name}
+ {isSelected && (isRelay || !!paraId) && ( +
+ {isRelay + ? t('Relay chain') + : paraId && paraId < 1000 + ? t('{{relay}} System', { replace: { relay } }) + : paraId && paraId < 2000 + ? t('{{relay}} Common', { replace: { relay } }) + : t('{{relay}} Parachain', { replace: { relay } }) + } +
+ )} +
{isSelected && providers.map(({ name, url }): React.ReactNode => (