* Bump deps

* Remove Rococo resets

* Additional bumps

* Bump concurrently

* Bump testcontainers

* Bump react-i18next

* React 18 (w/ SideBar test hack)

* react-markdown + rehype-raw

* Jest, 0, Jest ... get your ESM act together now.

* ... sprinkle awaits
This commit is contained in:
Jaco 2022-04-19 10:25:37 +02:00 committed by GitHub
parent 3644a40b3d
commit c77168960d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 990 additions and 765 deletions

View File

@ -25,5 +25,7 @@ module.exports = {
setupFilesAfterEnv: ['<rootDir>/jest/jest-setup.ts'],
testEnvironment: 'jsdom',
testTimeout: 90000,
transformIgnorePatterns: ['/node_modules/(?!@polkadot|@babel/runtime/helpers/esm/|@substrate|smoldot)']
// NOTE Everything after "smoldot" is due to react-markdown being ESM - cannot wait for Jest to
// finally get this right and work in the modern world. Jest 28 maybe?
transformIgnorePatterns: ['/node_modules/(?!@polkadot|@babel/runtime/helpers/esm/|@substrate|smoldot|react-markdown|vfile|vfile-|unified|unist-|bail|is-plain-obj|trough|remark-parse|mdast-|micromark|decode-named-character-reference|character-entities|remark-rehype|property-information|hast-util-|hast-to-|space-separated-tokens|comma-separated-tokens|rehype-raw|hastscript|web-namespaces|zwitch|html-void-elements)']
};

View File

@ -64,7 +64,7 @@
"@babel/runtime": "^7.17.9",
"@crustio/crust-pin": "^1.0.0",
"@pinata/sdk": "^1.1.25",
"@polkadot/dev": "^0.66.4",
"@polkadot/dev": "^0.66.5",
"@types/chart.js": "^2.9.36",
"@types/file-saver": "^2.0.5",
"@types/jest": "^27.4.1",
@ -75,16 +75,16 @@
"@types/store": "^2.0.2",
"@types/styled-components": "^5.1.25",
"@types/styled-theming": "^2.2.5",
"concurrently": "^7.0.0",
"concurrently": "^7.1.0",
"devtron": "^1.4.0",
"dnslink-cloudflare": "^3.0.0",
"electron": "^12.2.3",
"electron-builder": "22.14.13",
"electron-builder-notarize": "^1.2.0",
"i18next-scanner": "^3.1.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-is": "^17.0.2",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-is": "^18.0.0",
"source-map-explorer": "^2.5.2",
"styled-components": "^5.3.5",
"webpack": "^5.72.0",

View File

@ -37,7 +37,7 @@
"@polkadot/x-fetch": "^9.0.1",
"@polymathnetwork/polymesh-types": "0.0.2",
"@snowfork/snowbridge-types": "0.2.7",
"@sora-substrate/type-definitions": "1.8.21",
"@sora-substrate/type-definitions": "1.8.22",
"@subsocial/types": "0.6.8",
"@unique-nft/types": "0.4.0",
"@zeitgeistpm/type-defs": "0.4.14",

View File

@ -95,8 +95,6 @@ describe('urls are not duplicated', (): void => {
describe('endpopints do not contain emojis or all uppercase', (): void => {
const emoji = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/;
console.error(allEndpoints);
allEndpoints
.filter(({ value }) =>
value &&

View File

@ -60,24 +60,6 @@ export function createRococo (t: TFunction): EndpointOption {
teleport: [-1]
},
// add any additional parachains here, alphabetical
{
info: 'rococoApron',
isDisabled: true, // Rococo reset
paraId: 2048,
text: t('rpc.rococo.apron', 'Apron PC1', { ns: 'apps-config' }),
providers: {
'Apron Network': 'wss://rococo.apron.network'
}
},
{
info: 'rococoAres',
isDisabled: true, // Rococo reset
paraId: 1006,
text: t('rpc.rococo.ares', 'Ares PC1', { ns: 'apps-config' }),
providers: {
'Ares Protocol': 'wss://rococo.parachain.aresprotocol.com'
}
},
{
info: 'rococoBasilisk',
paraId: 2090,
@ -86,24 +68,6 @@ export function createRococo (t: TFunction): EndpointOption {
'Galactic Council': 'wss://rpc-01.basilisk-rococo.hydradx.io'
}
},
{
info: 'rococoBifrost',
isDisabled: true, // Rococo reset
paraId: 1024,
text: t('rpc.rococo.bifrost', 'Bifrost PC1', { ns: 'apps-config' }),
providers: {
Bifrost: 'wss://rococo-1.testnet.liebi.com'
}
},
{
info: 'rococoBitCountry',
isDisabled: true, // Rococo reset
paraId: 1008,
text: t('rpc.rococo.bitcountry', 'Bit.Country PC1', { ns: 'apps-config' }),
providers: {
BitCountry: 'wss://tewai-parachain.bit.country:9955'
}
},
{
info: 'rococoCatalyst',
paraId: 2031,
@ -112,69 +76,6 @@ export function createRococo (t: TFunction): EndpointOption {
Centrifuge: 'wss://fullnode.catalyst.cntrfg.com'
}
},
{
info: 'rococoClover',
isDisabled: true, // Rococo reset
paraId: 229,
text: t('rpc.rococo.clover', 'Clover PC1', { ns: 'apps-config' }),
providers: {
Clover: 'wss://api-rococo.clover.finance'
}
},
{
info: 'rococoCrab',
isDisabled: true, // Rococo reset
paraId: 9,
text: t('rpc.rococo.crab', 'Darwinia Crab PC2', { ns: 'apps-config' }),
providers: {
Darwinia: 'wss://crab-pc2-rpc.darwinia.network'
}
},
{
info: 'rococoCrust',
isDisabled: true, // Rococo reset
paraId: 2001,
text: t('rpc.rococo.crust', 'Crust PC1', { ns: 'apps-config' }),
providers: {
Crust: 'wss://api-rococo.crust.network'
}
},
{
info: 'rococoChainX',
isDisabled: true, // Rococo reset
paraId: 1059,
text: t('rpc.rococo.chainx', 'ChainX PC1', { ns: 'apps-config' }),
providers: {
ChainX: 'wss://sherpax.chainx.org'
}
},
{
info: 'rococoDarwinia',
isDisabled: true, // Rococo reset
paraId: 18,
text: t('rpc.rococo.darwinia', 'Darwinia PC2', { ns: 'apps-config' }),
providers: {
Darwinia: 'wss://pc2-rpc.darwinia.network'
}
},
{
info: 'rococoDataHighway',
isDisabled: true, // Rococo reset
paraId: 2,
text: t('rpc.rococo.datahighway', 'DataHighway', { ns: 'apps-config' }),
providers: {
DataHighway: 'wss://spreehafen.datahighway.com'
}
},
{
info: 'rococoEave',
isDisabled: true, // Rococo reset
paraId: 2003,
text: t('rpc.rococo.eave', 'Steam PC', { ns: 'apps-config' }),
providers: {
EAVE: 'wss://steamcollator.eave.network'
}
},
{
info: 'rocfinity',
paraId: 2051,
@ -185,7 +86,6 @@ export function createRococo (t: TFunction): EndpointOption {
},
{
info: 'rococoIntegritee',
isDisabled: false,
paraId: 3002,
text: t('rpc.rococo.integritee', 'Integritee Network', { ns: 'apps-config' }),
providers: {
@ -194,79 +94,14 @@ export function createRococo (t: TFunction): EndpointOption {
},
{
info: 'rococoTinker',
isDisabled: false,
paraId: 2014,
text: t('rpc.rococo.tinker', 'InvArch Tinkernet', { ns: 'apps-config' }),
providers: {
OnFinality: 'wss://invarch-tinkernet.api.onfinality.io/public-ws'
}
},
{
info: 'rococoGalital',
isDisabled: true, // Rococo reset
paraId: 1230,
text: t('rpc.rococo.galital', 'Galital PC1', { ns: 'apps-config' }),
providers: {
StarkleyTech: 'wss://galital-rpc.starkleytech.com'
}
},
{
info: 'rococoGenshiro',
isDisabled: true, // Rococo reset
paraId: 2021,
text: t('rpc.rococo.genshiro', 'Genshiro', { ns: 'apps-config' }),
providers: {
Equilibrium: 'wss://gens-rococo.equilibrium.io'
}
},
{
info: 'rococoHalongbay',
isDisabled: true, // Rococo reset
paraId: 2018,
text: t('rpc.rococo.halongbay', 'Halongbay', { ns: 'apps-config' }),
providers: {
Halongbay: 'wss://halongbay.polkafoundry.com'
}
},
{
info: 'rococoHydrate',
isDisabled: true, // Rococo reset
paraId: 82406,
text: t('rpc.rococo.hydrate', 'Hydrate', { ns: 'apps-config' }),
providers: {
HydraDX: 'wss://hydrate-rpc.hydradx.io:9944'
}
},
{
info: 'rococoIdavoll',
isDisabled: true, // Rococo reset
paraId: 7766,
text: t('rpc.rococo.idavoll', 'Idavoll', { ns: 'apps-config' }),
providers: {
Idavoll: 'wss://rococo.idavoll.network'
}
},
{
info: 'rococoIntegritee',
isDisabled: true, // Rococo reset
paraId: 1983,
text: t('rpc.rococo.integritee', 'Integritee PC1', { ns: 'apps-config' }),
providers: {
SCS: 'wss://rococo.integritee.network'
}
},
{
info: 'rococoInterBTC',
isDisabled: true, // Rococo reset
paraId: 2088,
text: t('rpc.rococo.interbtc', 'Interlay PC1', { ns: 'apps-config' }),
providers: {
Interlay: 'wss://api-rococo.interlay.io/parachain'
}
},
{
info: 'rococoLitentry',
isDisabled: false,
paraId: 2106,
text: t('rpc.rococo.litentry', 'Litentry', { ns: 'apps-config' }),
providers: {
@ -291,7 +126,6 @@ export function createRococo (t: TFunction): EndpointOption {
},
{
info: 'rococoPangolin',
isDisabled: false,
paraId: 2105,
text: t('rpc.rococo.pangolin', 'Pangolin Parachain', { ns: 'apps-config' }),
providers: {
@ -306,24 +140,6 @@ export function createRococo (t: TFunction): EndpointOption {
'KILT Protocol': 'wss://rococo.kilt.io'
}
},
{
info: 'rococoKonomi',
isDisabled: true, // Rococo reset
paraId: 18403,
text: t('rpc.rococo.konomi', 'Komomi Network', { ns: 'apps-config' }),
providers: {
'Konomi Network': 'wss://rococo.konomi.tech'
}
},
{
info: 'rococoKylin',
isDisabled: true, // Rococo reset
paraId: 2013,
text: t('rpc.kylin-node.co.uk', 'Kylin Network', { ns: 'apps-config' }),
providers: {
'Kylin Network': 'wss://rpc.kylin-node.co.uk'
}
},
{
info: 'rococoSubsocial',
paraId: 2100,
@ -340,213 +156,6 @@ export function createRococo (t: TFunction): EndpointOption {
DataHighway: 'wss://spreehafen.datahighway.com'
}
},
{
info: 'rococoSingLavender',
isDisabled: true, // Rococo reset
paraId: 2104,
text: t('rpc.rococo.singlavender', 'Lavender by SingNetwork', { ns: 'apps-config' }),
providers: {
SingNetwork: 'wss://rpc-lavender.singnetwork.io'
}
},
{
info: 'rococoLoomNetwork',
isDisabled: true, // Rococo reset
paraId: 2043,
text: t('rpc.rococo.loomnetwork', 'Loom Network', { ns: 'apps-config' }),
providers: {
LoomNetwork: 'wss://rococo.dappchains.com'
}
},
{
info: 'rococoAcala',
isDisabled: true, // Rococo reset
paraId: 1000,
text: t('rpc.rococo.acala', 'Mandala PC2', { ns: 'apps-config' }),
providers: {
Acala: 'wss://rococo-1.acala.laminar.one'
}
},
{
info: 'rococoMathChain',
isDisabled: true, // Rococo reset
paraId: 40,
text: t('rpc.rococo.mathchain', 'MathChain PC1', { ns: 'apps-config' }),
providers: {
MathWallet: 'wss://testpara.maiziqianbao.net/ws'
}
},
{
info: 'rococoManta',
isDisabled: true, // Rococo reset
paraId: 2021,
text: t('rpc.rococo.manta', 'Manta PC1', { ns: 'apps-config' }),
providers: {
Manta: 'wss://rococo.manta.network'
}
},
{
info: 'rococoMoonrock',
isDisabled: true, // Rococo reset
paraId: 1286,
text: t('rpc.rococo.moonrock', 'Moonrock', { ns: 'apps-config' }),
providers: {
Moonrock: 'wss://wss-moonrock.gcp.purestake.run'
}
},
{
info: 'rococoOriginTrail',
isDisabled: true, // Rococo reset
paraId: 2037,
text: t('rpc.rococo.origintrail', 'OriginTrail Parachain', { ns: 'apps-config' }),
providers: {
'Trace Labs': 'wss://polkadot-js-second.origin-trail.network'
}
},
{
info: 'rococoParami',
isDisabled: true, // Rococo reset
paraId: 18888,
text: t('rpc.rococo.parami', 'Parami PC2', { ns: 'apps-config' }),
providers: {
Parami: 'wss://rococo.parami.io'
}
},
{
info: 'rococoTick',
isDisabled: true, // Rococo reset
paraId: 100,
text: t('rpc.rococo.tick', 'Tick', { ns: 'apps-config' }),
providers: {
Parity: 'wss://tick-rococo-rpc.polkadot.io'
}
},
{
info: 'rococoTrick',
isDisabled: true, // Rococo reset
paraId: 110,
text: t('rpc.rococo.trick', 'Trick', { ns: 'apps-config' }),
providers: {
Parity: 'wss://trick-rpc.polkadot.io'
}
},
{
info: 'rococoTrack',
isDisabled: true, // Rococo reset
paraId: 120,
text: t('rpc.rococo.track', 'Track', { ns: 'apps-config' }),
providers: {
Parity: 'wss://track-rpc.polkadot.io'
}
},
{
info: 'rococoJupiter',
isDisabled: true, // Rococo reset
paraId: 1010,
text: t('rpc.rococo.jupiter', 'Patract Jupiter PC1', { ns: 'apps-config' }),
providers: {
jupiter: 'wss://ws.rococo.jupiter.patract.cn'
}
},
{
info: 'rococoPhala',
isDisabled: true, // Rococo reset
paraId: 1030,
text: t('rpc.rococo.phala', 'Phala PC1', { ns: 'apps-config' }),
providers: {
Phala: 'wss://rococov1.phala.network/ws'
}
},
{
info: 'rococoPhoenix',
isDisabled: true, // Rococo reset
paraId: 6806,
text: t('rpc.rococo.phoenix', 'PHOENIX PC1', { ns: 'apps-config' }),
providers: {
'PHOENIX Protocol': 'wss://phoenix-ws.coinid.pro'
}
},
{
info: 'rococoPlasm',
isDisabled: true, // Rococo reset
paraId: 5000,
text: t('rpc.rococo.plasm', 'Plasm PC2', { ns: 'apps-config' }),
providers: {
PlasmNetwork: 'wss://rpc.rococo.plasmnet.io'
}
},
{
info: 'rococoPolkaFoundry',
isDisabled: true, // Rococo reset
paraId: 1111,
text: t('rpc.rococo.polkafoundry', 'PolkaFoundry PC1', { ns: 'apps-config' }),
providers: {
PolkaFoundry: 'wss://rococo.polkafoundry.com'
}
},
{
info: 'rococoPrism',
isDisabled: true, // Rococo reset
paraId: 2002,
text: t('rpc.rococo.prism', 'Prism PC1', { ns: 'apps-config' }),
providers: {
Prism: 'wss://rococo.psm.link'
}
},
{
info: 'rococoRobonomics',
isDisabled: true, // Rococo reset
paraId: 3000,
text: t('rpc.rococo.robonomics', 'Robonomics PC2', { ns: 'apps-config' }),
providers: {
Airalab: 'wss://rococo.parachain.robonomics.network'
}
},
{
info: 'rococoStandard',
isDisabled: true, // Rococo reset
paraId: 2003,
text: t('rpc.rococo.standard', 'Standard', { ns: 'apps-config' }),
providers: {
'Standard Protocol': 'wss://rpc.rococo.standard.tech'
}
},
{
info: 'rococoSubDAO',
isDisabled: true, // Rococo reset
paraId: 888,
text: t('rpc.rococo.subdao', 'SubDAO PC1', { ns: 'apps-config' }),
providers: {
SubDAONetwork: 'wss://parachain.subdao.network'
}
},
{
info: 'rococoTrustBase',
isDisabled: true, // Rococo reset
paraId: 6633,
text: t('rpc.rococo.trustbase', 'TrustBase PC1', { ns: 'apps-config' }),
providers: {
TrustBase: 'wss://rococo.trustednodes.net'
}
},
{
info: 'rococoUnitv',
isDisabled: true, // Rococo reset
paraId: 3,
text: t('rpc.rococo.unitv', 'Unit Network', { ns: 'apps-config' }),
providers: {
'Unit Network': 'wss://unitp.io'
}
},
{
info: 'rococoVln',
isDisabled: true, // Rococo reset
paraId: 2007,
text: t('rpc.rococo.vln', 'Valibre Network PC', { ns: 'apps-config' }),
providers: {
Valibre: 'wss://testnet.valibre.dev'
}
},
{
info: 'rococoZeitgeist',
isDisabled: true, // See https://github.com/polkadot-js/apps/issues/5842
@ -555,15 +164,6 @@ export function createRococo (t: TFunction): EndpointOption {
providers: {
Zeitgeist: 'wss://roc.zeitgeist.pm'
}
},
{
info: 'rococoZenlink',
isDisabled: true, // Rococo reset
paraId: 1188,
text: t('rpc.rococo.zenlink', 'Zenlink PC1', { ns: 'apps-config' }),
providers: {
Zenlink: 'wss://rococo-parachain.zenlink.pro'
}
}
]
};

View File

@ -14,7 +14,7 @@
"dependencies": {
"@babel/core": "^7.17.9",
"@babel/polyfill": "^7.12.1",
"@polkadot/dev": "^0.66.4",
"@polkadot/dev": "^0.66.5",
"@polkadot/react-components": "^0.112.2-24",
"electron-log": "^4.4.6",
"electron-updater": "^4.6.5"
@ -25,8 +25,8 @@
"babel-loader": "^8.2.4",
"copy-webpack-plugin": "^10.2.4",
"html-webpack-plugin": "^5.5.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"thread-loader": "^3.0.4",
"tmp": "^0.2.1",
"webpack": "^5.72.0"

View File

@ -18,7 +18,7 @@
"@babel/runtime": "^7.17.9",
"@polkadot/apps-config": "^0.112.2-24",
"@polkadot/apps-routing": "^0.112.2-24",
"@polkadot/dev": "^0.66.4",
"@polkadot/dev": "^0.66.5",
"@polkadot/react-api": "^0.112.2-24",
"@polkadot/react-components": "^0.112.2-24",
"@polkadot/react-hooks": "^0.112.2-24",

View File

@ -57,7 +57,6 @@
"rpc.kusama.tanganika": "Tanganika",
"rpc.kusama.trustbase": "TrustBase",
"rpc.kusama.zeitgeist": "Zeitgeist",
"rpc.kylin-node.co.uk": "Kylin Network",
"rpc.manta": "Manta Testnet",
"rpc.polkadot.acala": "Acala",
"rpc.polkadot.astar": "Astar",
@ -126,64 +125,22 @@
"rpc.prod.uniarts": "UniArts",
"rpc.prod.westlake": "Westlake",
"rpc.rococo": "Rococo",
"rpc.rococo.acala": "Mandala PC2",
"rpc.rococo.apron": "Apron PC1",
"rpc.rococo.ares": "Ares PC1",
"rpc.rococo.basilisk": "Basilisk",
"rpc.rococo.bifrost": "Bifrost PC1",
"rpc.rococo.bitcountry": "Bit.Country PC1",
"rpc.rococo.canvas": "Canvas",
"rpc.rococo.catalyst": "Catalyst",
"rpc.rococo.chainx": "ChainX PC1",
"rpc.rococo.clover": "Clover PC1",
"rpc.rococo.crab": "Darwinia Crab PC2",
"rpc.rococo.crust": "Crust PC1",
"rpc.rococo.darwinia": "Darwinia PC2",
"rpc.rococo.datahighway": "DataHighway",
"rpc.rococo.eave": "Steam PC",
"rpc.rococo.efinity.io": "Efinity",
"rpc.rococo.encointer": "Encointer Lietaer",
"rpc.rococo.galital": "Galital PC1",
"rpc.rococo.genshiro": "Genshiro",
"rpc.rococo.halongbay": "Halongbay",
"rpc.rococo.hydrate": "Hydrate",
"rpc.rococo.idavoll": "Idavoll",
"rpc.rococo.integritee": "Integritee Network",
"rpc.rococo.interbtc": "Interlay PC1",
"rpc.rococo.jupiter": "Patract Jupiter PC1",
"rpc.rococo.kilt": "RILT",
"rpc.rococo.konomi": "Komomi Network",
"rpc.rococo.litentry": "Litentry",
"rpc.rococo.loomnetwork": "Loom Network",
"rpc.rococo.manta": "Manta PC1",
"rpc.rococo.mathchain": "MathChain PC1",
"rpc.rococo.moonrock": "Moonrock",
"rpc.rococo.moonsama": "Moonsama",
"rpc.rococo.nodle": "Nodle",
"rpc.rococo.origintrail": "OriginTrail Parachain",
"rpc.rococo.pangolin": "Pangolin Parachain",
"rpc.rococo.parami": "Parami PC2",
"rpc.rococo.phala": "Phala PC1",
"rpc.rococo.phoenix": "PHOENIX PC1",
"rpc.rococo.plasm": "Plasm PC2",
"rpc.rococo.polkafoundry": "PolkaFoundry PC1",
"rpc.rococo.prism": "Prism PC1",
"rpc.rococo.robonomics": "Robonomics PC2",
"rpc.rococo.singlavender": "Lavender by SingNetwork",
"rpc.rococo.spreehafen": "Spreehafen",
"rpc.rococo.standard": "Standard",
"rpc.rococo.statemint": "Statemint",
"rpc.rococo.subdao": "SubDAO PC1",
"rpc.rococo.subsocial": "SoonsocialX",
"rpc.rococo.tick": "Tick",
"rpc.rococo.tinker": "InvArch Tinkernet",
"rpc.rococo.track": "Track",
"rpc.rococo.trick": "Trick",
"rpc.rococo.trustbase": "TrustBase PC1",
"rpc.rococo.unitv": "Unit Network",
"rpc.rococo.vln": "Valibre Network PC",
"rpc.rococo.zeitgeist": "Zeitgeist PC",
"rpc.rococo.zenlink": "Zenlink PC1",
"rpc.spanner": "Spanner",
"rpc.test.ajuna": "Ajuna Testnet",
"rpc.test.aleph": "Aleph Zero Testnet",

View File

@ -40,8 +40,14 @@ describe('Sidebar', () => {
describe('changes name', () => {
beforeEach(async () => {
// Cannot get this to work on React 18 ... the first one fails :(
// However... with a delay, it seems to get through the queue
accountsPage.render([[alice, anAccountWithMeta({ isDevelopment: false, name: initialName })]]);
await new Promise((resolve) => setTimeout(resolve, 1000));
sideBar = await accountsPage.openSidebarForRow(0);
await sideBar.changeAccountName(newName);
});

View File

@ -18,7 +18,7 @@
"file-saver": "^2.0.5"
},
"devDependencies": {
"@testing-library/react": "^12.1.4",
"testcontainers": "^8.6.0"
"@testing-library/react": "^13.1.1",
"testcontainers": "^8.7.1"
}
}

View File

@ -31,18 +31,19 @@
"i18next": "^21.6.16",
"i18next-browser-languagedetector": "^6.1.4",
"owasp-password-strength-test": "^1.3.0",
"react": "^17.0.2",
"react": "^18.0.0",
"react-beautiful-dnd": "^13.1.0",
"react-chartjs-2": "^4.0.1",
"react-copy-to-clipboard": "^5.0.4",
"react-dom": "^17.0.2",
"react-chartjs-2": "^4.1.0",
"react-copy-to-clipboard": "^5.1.0",
"react-dom": "^18.0.0",
"react-dropzone": "^11.7.1",
"react-i18next": "^11.16.5",
"react-is": "^17.0.2",
"react-markdown": "^5.0.3",
"react-router": "^5.2.1",
"react-router-dom": "^5.3.0",
"react-i18next": "^11.16.7",
"react-is": "^18.0.0",
"react-markdown": "^8.0.2",
"react-router": "^5.3.1",
"react-router-dom": "^5.3.1",
"react-tooltip": "^4.2.21",
"rehype-raw": "^6.1.1",
"semantic-ui-css": "^2.4.1",
"semantic-ui-react": "^0.88.2",
"store": "^2.0.12",

View File

@ -3,6 +3,7 @@
import React from 'react';
import ReactMd from 'react-markdown';
import rehypeRaw from 'rehype-raw';
import styled from 'styled-components';
import { useToggle } from '@polkadot/react-hooks';
@ -14,6 +15,8 @@ interface Props {
md: string;
}
const rehypePlugins = [rehypeRaw];
function HelpOverlay ({ className = '', md }: Props): React.ReactElement<Props> {
const [isVisible, toggleVisible] = useToggle();
@ -34,9 +37,10 @@ function HelpOverlay ({ className = '', md }: Props): React.ReactElement<Props>
</div>
<ReactMd
className='help-content'
escapeHtml={false}
source={md}
/>
rehypePlugins={rehypePlugins}
>
{md}
</ReactMd>
</div>
</div>
);

View File

@ -100,11 +100,14 @@ describe('Modal Component', () => {
});
async function expectModalToBeClosed () {
await new Promise((resolve) => setTimeout(resolve, 1000));
await screen.findByRole('button', { name: 'Open Test Modal' });
expect(screen.queryAllByTestId('test-modal')).toHaveLength(0);
}
async function expectModalToBeOpen () {
await new Promise((resolve) => setTimeout(resolve, 1000));
await screen.findByTestId('test-modal');
}

View File

@ -57,11 +57,13 @@ describe('Popup Component', () => {
});
async function expectPopupToBeClosed () {
await new Promise((resolve) => setTimeout(resolve, 1000));
await screen.findByRole('button');
expect(screen.queryAllByText('Test popup content')).toHaveLength(0);
}
async function expectPopupToBeOpen () {
await new Promise((resolve) => setTimeout(resolve, 1000));
await screen.findByText('Test popup content');
}

View File

@ -13,12 +13,12 @@
"type": "module",
"version": "0.112.2-24",
"dependencies": {
"@testing-library/react": "^12.1.4",
"testcontainers": "^8.6.0"
"@testing-library/react": "^13.1.1",
"testcontainers": "^8.7.1"
},
"devDependencies": {
"@polkadot/types-support": "^8.1.1",
"@testing-library/jest-dom": "^5.16.3",
"@testing-library/jest-dom": "^5.16.4",
"tsconfig-paths": "^3.14.1"
}
}

1236
yarn.lock

File diff suppressed because it is too large Load Diff