index.ts 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // Copyright 2017-2020 @polkadot/apps-config authors & contributors
  2. // This software may be modified and distributed under the terms
  3. // of the Apache-2.0 license. See the LICENSE file for details.
  4. /* eslint-disable @typescript-eslint/no-unsafe-assignment */
  5. // anything for a specific chain, most would probably fit into the node category (but allow for chain-specific)
  6. import chainKusama from './chains/kusama-128.gif';
  7. // defaults for the node type, assuming we don't have a specific chain, but rather match on the implementation
  8. import nodeAcala from './nodes/acala-circle.svg';
  9. import nodeCentrifuge from './nodes/centrifuge.png';
  10. import nodeEdgeware from './nodes/edgeware-circle.svg';
  11. import nodeEncointerNotee from './nodes/encointer-notee.svg';
  12. import nodeEncointerTeeproxy from './nodes/encointer-teeproxy.svg';
  13. import nodeNodle from './nodes/nodle.svg';
  14. import nodePolkadot from './nodes/polkadot-circle.svg';
  15. import nodePolkadotJs from './nodes/polkadot-js.svg';
  16. import nodeSubstrate from './nodes/substrate-hexagon.svg';
  17. // extensions
  18. import extensionPolkadotJs from './extensions/polkadot-js.svg';
  19. // last-resort fallback, just something empty
  20. import emptyLogo from './empty.svg';
  21. // overrides based on the actual matched chain name
  22. const chainLogos: Record<string, any> = [
  23. ['Kusama', chainKusama], // new name after CC3
  24. ['Kusama CC1', chainKusama],
  25. ['Kusama CC2', chainKusama],
  26. ['Kusama CC3', chainKusama]
  27. ].reduce((logos, [chain, logo]): Record<string, any> => ({
  28. ...logos,
  29. [(chain as string).toLowerCase()]: logo
  30. }), {});
  31. // overrides based on the actual software node type (all '-' converted to ' ')
  32. const nodeLogos: Record<string, any> = [
  33. ['centrifuge chain', nodeCentrifuge],
  34. ['Centrifuge Chain Node', nodeCentrifuge],
  35. ['Edgeware Node', nodeEdgeware],
  36. ['Encointer Node', nodeEncointerNotee],
  37. ['Encointer Node noTEE', nodeEncointerNotee],
  38. ['Encointer Node TEE proxy', nodeEncointerTeeproxy],
  39. ['kulupu', nodeSubstrate],
  40. ['node-template', nodeSubstrate],
  41. ['Nodle Chain Node', nodeNodle],
  42. ['parity-polkadot', nodePolkadot],
  43. ['polkadot-js', nodePolkadotJs],
  44. ['substrate-node', nodeSubstrate]
  45. ].reduce((logos, [node, logo]): Record<string, any> => ({
  46. ...logos,
  47. [(node as string).toLowerCase().replace(/-/g, ' ')]: logo
  48. }), {});
  49. // overrides when we pass an explicit logo name
  50. const namedLogos: Record<string, any> = {
  51. acala: nodeAcala,
  52. alexander: nodePolkadot,
  53. centrifuge: nodeCentrifuge,
  54. edgeware: nodeEdgeware,
  55. empty: emptyLogo,
  56. kusama: chainKusama,
  57. nodle: nodeNodle,
  58. polkadot: nodePolkadot,
  59. substrate: nodeSubstrate,
  60. westend: nodePolkadot
  61. };
  62. // extension logos
  63. const extensionLogos: Record<string, any> = {
  64. 'polkadot-js': extensionPolkadotJs
  65. };
  66. export {
  67. chainLogos,
  68. emptyLogo,
  69. extensionLogos,
  70. namedLogos,
  71. nodeLogos
  72. };