diff --git a/packages/apps-routing/src/index.ts b/packages/apps-routing/src/index.ts index 3ccd0beb2b..1d3920516a 100644 --- a/packages/apps-routing/src/index.ts +++ b/packages/apps-routing/src/index.ts @@ -24,6 +24,7 @@ import membership from './membership'; import nfts from './nfts'; import parachains from './parachains'; import poll from './poll'; +import preimages from './preimages'; import rpc from './rpc'; import runtime from './runtime'; import settings from './settings'; @@ -57,6 +58,7 @@ export default function create (t: TFunction): Routes { techcomm(t), membership(t), alliance(t), + preimages(t), whitelist(t), parachains(t), gilt(t), diff --git a/packages/apps-routing/src/preimages.ts b/packages/apps-routing/src/preimages.ts new file mode 100644 index 0000000000..e67782a4e8 --- /dev/null +++ b/packages/apps-routing/src/preimages.ts @@ -0,0 +1,26 @@ +// Copyright 2017-2022 @polkadot/apps-routing authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import type { TFunction } from 'i18next'; +import type { Route } from './types'; + +import Component from '@polkadot/app-preimages'; + +export default function create (t: TFunction): Route { + return { + Component, + display: { + needsAccounts: true, + needsApi: [ + 'tx.preimage.notePreimage', + // only enable when we have referenda (or ranked would be applicable as + // well, we basically want to disable on all Gov1 chains) + 'tx.referenda.submit' + ] + }, + group: 'governance', + icon: 'panorama', + name: 'preimages', + text: t('nav.preimages', 'Preimages', { ns: 'apps-routing' }) + }; +} diff --git a/packages/apps-routing/src/whitelist.ts b/packages/apps-routing/src/whitelist.ts index fa476d6df5..9379deeeae 100644 --- a/packages/apps-routing/src/whitelist.ts +++ b/packages/apps-routing/src/whitelist.ts @@ -10,6 +10,7 @@ export default function create (t: TFunction): Route { return { Component, display: { + needsAccounts: true, needsApi: [ 'tx.whitelist.removeWhitelistedCall' ] diff --git a/packages/page-preimages/src/Add.tsx b/packages/page-preimages/src/Add.tsx index 5c97629e10..04fec8d5bb 100644 --- a/packages/page-preimages/src/Add.tsx +++ b/packages/page-preimages/src/Add.tsx @@ -36,13 +36,15 @@ function Add ({ className, imageHash }: Props): React.ReactElement { useEffect((): void => { const encodedProposal = (proposal as SubmittableExtrinsic<'promise'>)?.method.toHex() || ''; - const storageFee = api.consts.democracy.preimageByteDeposit.mul( - encodedProposal - ? new BN((encodedProposal.length - 2) / 2) - : BN_ZERO - ); - setHash({ encodedHash: blake2AsHex(encodedProposal), encodedProposal, storageFee }); + // we currently don't have a constant exposed, or rather, maybe somwhere else... + // const storageFee = api.consts.democracy.preimageByteDeposit.mul( + // encodedProposal + // ? new BN((encodedProposal.length - 2) / 2) + // : BN_ZERO + // ); + + setHash({ encodedHash: blake2AsHex(encodedProposal), encodedProposal, storageFee: BN_ZERO }); }, [api, proposal]); const isMatched = imageHash @@ -93,14 +95,16 @@ function Add ({ className, imageHash }: Props): React.ReactElement { value={encodedHash} /> - ('The calculated storage costs based on the size and the per-bytes fee.')}> - ('The amount reserved to store this image')} - isDisabled - label={t('calculated storage fee')} - /> - + {!storageFee.isZero() && ( + ('The calculated storage costs based on the size and the per-bytes fee.')}> + ('The amount reserved to store this image')} + isDisabled + label={t('calculated storage fee')} + /> + + )}