Show ChainImg via endpoint map (#9178)

* Show ChainImg via endpoint map

* Substrate logo
This commit is contained in:
Jaco 2023-03-15 08:31:21 +02:00 committed by GitHub
parent c52c354e06
commit db8c16e5be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 8 deletions

View File

@ -432,9 +432,8 @@ export const prodChains: EndpointOption[] = [
},
{
info: 'stafi',
isDisabled: true, // Cannot find type ChainId
providers: {
'Stafi Foundation': 'wss://mainnet-rpc.stafi.io'
// 'Stafi Foundation': 'wss://mainnet-rpc.stafi.io' // isDisabled: true, // Cannot find type ChainId
},
text: 'Stafi',
ui: {

View File

@ -670,7 +670,7 @@ export const prodParasKusama: EndpointOption[] = [
},
{
homepage: 'https://sora.org/',
info: 'sora_ksm',
info: 'sora',
paraId: 2011,
providers: {
Soramitsu: 'wss://ws.parachain-collator-1.c1.sora2.soramitsu.co.jp'

View File

@ -168,7 +168,7 @@ export const prodParasPolkadot: EndpointOption[] = [
},
{
homepage: 'https://composable.finance/',
info: 'composableFinance',
info: 'composable',
paraId: 2019,
providers: {
Composable: 'wss://rpc.composable.finance',
@ -296,7 +296,7 @@ export const prodParasPolkadot: EndpointOption[] = [
},
{
homepage: 'https://hydradx.io/',
info: 'hydra',
info: 'hydradx',
paraId: 2034,
providers: {
Dwellir: 'wss://hydradx-rpc.dwellir.com',

View File

@ -4,7 +4,7 @@
import type { EndpointOption } from './types.js';
import { chains3dpassPNG, chainsAcalaSVG, chainsAlephSVG, chainsBrainstormPNG, chainsCreditcoinTestPNG, chainsDebioSVG, chainsEquilibriumSVG, chainsFerrumPNG, chainsKintsugiPNG, chainsLogionPNG, chainsMyriadPNG, chainsShidenPNG, chainsSkyekiwiPNG, chainsTanglePNG, chainsVaraSVG } from '../ui/logos/chains/index.js';
import { nodesAjunaPNG, nodesArcticPNG, nodesAresGladiosSVG, nodesAutomataPNG, nodesBifrostSVG, nodesBitcountryPNG, nodesCessPNG, nodesCloverSVG, nodesCrustMaxwellSVG, nodesDatahighwayPNG, nodesDockPNG, nodesDolphinSVG, nodesDotmogSVG, nodesEdgewareWhitePNG, nodesEncointerBlueSVG, nodesFantourPNG, nodesGalitalLogoPNG, nodesGamepowerSVG, nodesGeekSVG, nodesInterlaySVG, nodesIpsePNG, nodesJazPNG, nodesJupiterSVG, nodesKhalaSVG, nodesKiltPNG, nodesKlugPNG, nodesKylinPNG, nodesLaminarCircleSVG, nodesLitentryPNG, nodesMantaPNG, nodesMathSVG, nodesMinixPNG, nodesMoonbaseAlphaSVG, nodesMybankPNG, nodesNftmartPNG, nodesNodleSVG, nodesOpalLogoPNG, nodesOpportunityPNG, nodesPangoroSVG, nodesPhalaSVG, nodesPhoenixPNG, nodesPichiuPNG, nodesPolkadexSVG, nodesPolkafoundrySVG, nodesPolymeshSVG, nodesPontemSVG, nodesPrismPNG, nodesRealisPNG, nodesRiochainSVG, nodesSherpaxPNG, nodesSoonsocialPNG, nodesSoraSubstrateSVG, nodesSubdaoPNG, nodesSubgameSVG, nodesSubspacePNG, nodesTernoaSVG, nodesThebifrostPNG, nodesUniartsPNG, nodesUniqueSVG, nodesUnitnetworkPNG, nodesWeb3gamesSVG, nodesZCloakSVG, nodesZeitgeistPNG } from '../ui/logos/nodes/index.js';
import { nodesAjunaPNG, nodesArcticPNG, nodesAresGladiosSVG, nodesAutomataPNG, nodesBifrostSVG, nodesBitcountryPNG, nodesCessPNG, nodesCloverSVG, nodesCrustMaxwellSVG, nodesDatahighwayPNG, nodesDockPNG, nodesDolphinSVG, nodesDotmogSVG, nodesEdgewareWhitePNG, nodesEncointerBlueSVG, nodesFantourPNG, nodesGalitalLogoPNG, nodesGamepowerSVG, nodesGeekSVG, nodesInterlaySVG, nodesIpsePNG, nodesJazPNG, nodesJupiterSVG, nodesKhalaSVG, nodesKiltPNG, nodesKlugPNG, nodesKylinPNG, nodesLaminarCircleSVG, nodesLitentryPNG, nodesMantaPNG, nodesMathSVG, nodesMinixPNG, nodesMoonbaseAlphaSVG, nodesMybankPNG, nodesNftmartPNG, nodesNodleSVG, nodesOpalLogoPNG, nodesOpportunityPNG, nodesPangoroSVG, nodesPhalaSVG, nodesPhoenixPNG, nodesPichiuPNG, nodesPolkadexSVG, nodesPolkafoundrySVG, nodesPolymeshSVG, nodesPontemSVG, nodesPrismPNG, nodesRealisPNG, nodesRiochainSVG, nodesSherpaxPNG, nodesSoonsocialPNG, nodesSoraSubstrateSVG, nodesSubdaoPNG, nodesSubgameSVG, nodesSubspacePNG, nodesSubstrateHexagonSVG, nodesTernoaSVG, nodesThebifrostPNG, nodesUniartsPNG, nodesUniqueSVG, nodesUnitnetworkPNG, nodesWeb3gamesSVG, nodesZCloakSVG, nodesZeitgeistPNG } from '../ui/logos/nodes/index.js';
export * from './testingRelayRococo.js';
export * from './testingRelayWestend.js';
@ -285,7 +285,9 @@ export const testChains: EndpointOption[] = [
// Parity: 'wss://substrate-rpc.parity.io' // https://github.com/polkadot-js/apps/issues/5571
},
text: 'Flaming Fir',
ui: {}
ui: {
logo: nodesSubstrateHexagonSVG
}
},
{
info: 'Galital',

View File

@ -5,6 +5,7 @@ import type { IconName } from '@fortawesome/fontawesome-svg-core';
import React, { useMemo } from 'react';
import { createWsEndpoints } from '@polkadot/apps-config';
import { externalEmptySVG } from '@polkadot/apps-config/ui/logos/external';
import { useApi } from '@polkadot/react-hooks';
@ -19,10 +20,13 @@ interface Props {
withoutHl?: boolean;
}
const endpoints = createWsEndpoints(() => '');
function ChainImg ({ className = '', isInline, logo, onClick, withoutHl }: Props): React.ReactElement<Props> {
const { apiEndpoint } = useApi();
const [isEmpty, img, isFa] = useMemo((): [boolean, unknown, boolean] => {
const found = logo || apiEndpoint?.ui.logo;
const endpoint = endpoints.find((o) => o.info === logo);
const found = endpoint?.ui.logo || logo || apiEndpoint?.ui.logo;
const imgBase = found || externalEmptySVG;
const [isFa, img] = !imgBase || imgBase === 'empty' || !(imgBase.startsWith('data:') || imgBase.startsWith('fa;'))
? [false, externalEmptySVG]