From 700179b74be235d4bf3cc2805e1fbff77d351f1a Mon Sep 17 00:00:00 2001 From: Sorin Chis Date: Wed, 17 Apr 2024 17:00:13 +0300 Subject: [PATCH] add pool icon --- package.json | 7 +------ .../yoroi-extension/app/containers/wallet/Wallet.js | 5 +++-- .../dialogs/pool-transition/PoolTransitionDialog.js | 4 ++++ .../wallet/dialogs/pool-transition/StakePoolCard.js | 11 ++++++++++- .../app/stores/toplevel/DelegationStore.js | 1 - 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 3e831a0991..bad9641132 100644 --- a/package.json +++ b/package.json @@ -8,12 +8,7 @@ "translations:purge": "lerna run translations:purge -- stream", "archive:src": "func() { git rev-parse HEAD > COMMIT && git rev-parse --abbrev-ref HEAD > BRANCH && git archive --format zip --add-file COMMIT --add-file BRANCH -o $1 HEAD && rm COMMIT BRANCH; }; func" }, - "husky": { - "hooks": { - "pre-push": ". check-all.sh", - "post-checkout": "npm run translations:purge" - } - }, + "devDependencies": { "concurrently": "^7.0.0", "husky": "4.3.8", diff --git a/packages/yoroi-extension/app/containers/wallet/Wallet.js b/packages/yoroi-extension/app/containers/wallet/Wallet.js index ca33e2c31d..699720d0b1 100644 --- a/packages/yoroi-extension/app/containers/wallet/Wallet.js +++ b/packages/yoroi-extension/app/containers/wallet/Wallet.js @@ -130,7 +130,7 @@ class Wallet extends Component { if (publicDeriver == null) { throw new Error(`${nameof(Wallet)} no public deriver. Should never happen`); } - + const currentPool = this.props.stores.delegation.getDelegatedPoolId(publicDeriver); const poolTransition = stores.delegation.checkPoolTransition(publicDeriver); const isFirstSync = stores.wallets.firstSyncWalletId === selectedWallet.getPublicDeriverId(); const spendableBalance = this.props.stores.transactions.balance; @@ -149,7 +149,7 @@ class Wallet extends Component { }))} onItemClick={route => actions.router.goToRoute.trigger({ route })} isActiveItem={route => this.props.stores.app.currentRoute.startsWith(route)} - locationId='wallet' + locationId="wallet" /> ); @@ -225,6 +225,7 @@ class Wallet extends Component { this.props.stores.delegation.setPoolTransitionConfig({ show: 'idle' }); }} poolTransition={poolTransition} + currentPoolId={currentPool ?? ''} onUpdatePool={() => { this.props.stores.delegation.setPoolTransitionConfig({ show: 'idle', diff --git a/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/PoolTransitionDialog.js b/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/PoolTransitionDialog.js index 205482b1e2..d1410831d8 100644 --- a/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/PoolTransitionDialog.js +++ b/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/PoolTransitionDialog.js @@ -27,6 +27,7 @@ type Props = {| onClose: () => void, poolTransition?: PoolTransition | null, onUpdatePool: () => void, + currentPoolId?: string, intl: $npm$ReactIntl$IntlFormat, |}; @@ -34,6 +35,7 @@ export const PoolTransitionDialog = ({ onClose, poolTransition, onUpdatePool, + currentPoolId, intl, }: Props): React$Node => { const { currentPool, suggestedPool } = poolTransition || {}; @@ -55,6 +57,7 @@ export const PoolTransitionDialog = ({ roa={currentPool?.roa} fee={currentPool?.share} deadlineMilliseconds={poolTransition?.deadlineMilliseconds} + poolHash={currentPoolId} intl={intl} /> @@ -65,6 +68,7 @@ export const PoolTransitionDialog = ({ poolName={suggestedPool?.name} roa={suggestedPool?.roa} fee={suggestedPool?.share} + poolHash={suggestedPool?.id} suggestedPool intl={intl} /> diff --git a/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/StakePoolCard.js b/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/StakePoolCard.js index 93aa5d2074..8925c89fd2 100644 --- a/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/StakePoolCard.js +++ b/packages/yoroi-extension/app/containers/wallet/dialogs/pool-transition/StakePoolCard.js @@ -7,6 +7,7 @@ import { ReactComponent as WarningSvg } from '../../../../assets/images/revamp/i import { ReactComponent as EmurgoSvg } from '../../../../assets/images/emurgo-logo-small.svg'; import type { $npm$ReactIntl$IntlFormat } from 'react-intl'; import { messages } from './dialog-messages'; +import { toSvg } from 'jdenticon'; type Props = {| label: string, @@ -15,6 +16,7 @@ type Props = {| fee?: string, deadlineMilliseconds?: number, suggestedPool?: boolean, + poolHash?: string, intl: $npm$ReactIntl$IntlFormat, |}; @@ -26,14 +28,21 @@ export const StakePoolCard = ({ deadlineMilliseconds, suggestedPool = false, intl, + poolHash, }: Props): React$Node => { + const avatarSource = toSvg(poolHash, 36, { padding: 0 }); + const avatarGenerated = `data:image/svg+xml;utf8,${encodeURIComponent(avatarSource)}`; return ( {label} - + {poolName} diff --git a/packages/yoroi-extension/app/stores/toplevel/DelegationStore.js b/packages/yoroi-extension/app/stores/toplevel/DelegationStore.js index a09df5dabe..2567dff29f 100644 --- a/packages/yoroi-extension/app/stores/toplevel/DelegationStore.js +++ b/packages/yoroi-extension/app/stores/toplevel/DelegationStore.js @@ -14,7 +14,6 @@ import type { ActionsMap } from '../../actions/index'; import type { StoresMap } from '../index'; import type { PoolInfo } from '@emurgo/yoroi-lib'; import { MultiToken } from '../../api/common/lib/MultiToken'; -import { PoolTransitionDialog } from '../../containers/wallet/dialogs/pool-transition/PoolTransitionDialog'; import { maybe } from '../../coreUtils'; import type { GetDelegatedBalanceFunc,