Skip to content

Commit

Permalink
[DDW-417]: Hide ranking for pools without non myopic member rewards
Browse files Browse the repository at this point in the history
  • Loading branch information
topseniors committed Oct 18, 2020
1 parent 836e5cc commit ae9c2f1
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 5 deletions.
7 changes: 7 additions & 0 deletions source/renderer/app/api/api.js
Expand Up @@ -1949,11 +1949,17 @@ const _createStakePoolFromServerData = action(
const {
relative_stake: relativeStake,
produced_blocks: producedBlocks,
non_myopic_member_rewards: nonMyopicMemberRewards,
saturation,
} = metrics; // eslint-disable-line
const { name, description = '', ticker, homepage } = metadata;
const relativeStakePercentage = get(relativeStake, 'quantity', 0);
const producedBlocksCount = get(producedBlocks, 'quantity', 0);
const nonMyopicMemberRewardsQuantity = get(
nonMyopicMemberRewards,
'quantity',
0
);
const costQuantity = get(cost, 'quantity', 0).toString();
const pledgeQuantity = get(pledge, 'quantity', 0).toString();
const profitMarginPercentage = get(profitMargin, 'quantity', 0);
Expand All @@ -1962,6 +1968,7 @@ const _createStakePoolFromServerData = action(
id,
relativeStake: relativeStakePercentage,
producedBlocks: producedBlocksCount,
nonMyopicMemberRewards: nonMyopicMemberRewardsQuantity,
ticker,
homepage,
cost: new BigNumber(costQuantity).dividedBy(LOVELACES_PER_ADA),
Expand Down
2 changes: 1 addition & 1 deletion source/renderer/app/api/staking/types.js
Expand Up @@ -13,7 +13,7 @@ export type AdaApiStakePool = {
metrics: {
non_myopic_member_rewards: {
quantity: number,
unit: 'block',
unit: 'lovelace',
},
produced_blocks: {
quantity: number,
Expand Down
26 changes: 22 additions & 4 deletions source/renderer/app/components/staking/widgets/TooltipPool.js
Expand Up @@ -23,9 +23,14 @@ import experimentalIcon from '../../../assets/images/experiment-icon.inline.svg'
import copyIcon from '../../../assets/images/clipboard-small-ic.inline.svg';
import copyCheckmarkIcon from '../../../assets/images/check-w.inline.svg';
import { getColorFromRange, getSaturationColor } from '../../../utils/colors';
import { formattedWalletAmount, shortNumber } from '../../../utils/formatters';
import {
formattedWalletAmount,
shortNumber,
formattedLovelaceToAmount,
} from '../../../utils/formatters';
import { rangeMap } from '../../../utils/numbers';
import { ellipsis } from '../../../utils/strings';
import globalMessages from '../../../i18n/global-messages';
import { STAKE_POOL_ID_COPY_FEEDBACK } from '../../../config/timingConfig';
import {
THUMBNAIL_HEIGHT,
Expand Down Expand Up @@ -66,6 +71,11 @@ const messages = defineMessages({
defaultMessage: '!!!Produced blocks:',
description: '"Blocks" for the Stake Pools Tooltip page.',
},
expectedRewards: {
id: 'staking.stakePools.tooltip.expectedRewards',
defaultMessage: '!!!Expected rewards:',
description: '"Rewards" for the Stake Pools Tooltip page.',
},
retirement: {
id: 'staking.stakePools.tooltip.retirement',
defaultMessage: '!!!Retirement in {retirementFromNow}',
Expand Down Expand Up @@ -422,6 +432,7 @@ export default class TooltipPool extends Component<Props, State> {
ranking,
relativeStake,
producedBlocks,
nonMyopicMemberRewards,
retiring,
cost,
profitMargin,
Expand Down Expand Up @@ -468,7 +479,7 @@ export default class TooltipPool extends Component<Props, State> {
aria-hidden
style={componentStyle}
>
{IS_RANKING_DATA_AVAILABLE ? (
{IS_RANKING_DATA_AVAILABLE && nonMyopicMemberRewards ? (
<div className={colorBandStyles} style={colorBandStyle} />
) : (
<div className={colorBandStyles} />
Expand Down Expand Up @@ -519,7 +530,7 @@ export default class TooltipPool extends Component<Props, State> {
/>

<dl className={styles.table}>
{IS_SATURATION_DATA_AVAILABLE && (
{IS_SATURATION_DATA_AVAILABLE && nonMyopicMemberRewards && (
<>
<dt className={styles.saturationLabel}>
{intl.formatMessage(messages.saturation)}
Expand All @@ -540,7 +551,7 @@ export default class TooltipPool extends Component<Props, State> {
)}
<dt>{intl.formatMessage(messages.ranking)}</dt>
<dd className={styles.ranking}>
{IS_RANKING_DATA_AVAILABLE ? (
{IS_RANKING_DATA_AVAILABLE && nonMyopicMemberRewards ? (
<span
style={{
background: getColorFromRange(ranking, {
Expand Down Expand Up @@ -625,6 +636,13 @@ export default class TooltipPool extends Component<Props, State> {
{shortNumber(producedBlocks)}
</span>
</dd>
<dt>{intl.formatMessage(messages.expectedRewards)}</dt>
<dd className={styles.defaultColor}>
<span className={styles.defaultColorContent}>
{shortNumber(formattedLovelaceToAmount(nonMyopicMemberRewards))}{' '}
{intl.formatMessage(globalMessages.unitAda)}
</span>
</dd>
{/* <dt>{intl.formatMessage(messages.cost)}</dt>
<dd>
<span
Expand Down
2 changes: 2 additions & 0 deletions source/renderer/app/domains/StakePool.js
Expand Up @@ -19,6 +19,7 @@ export type StakePoolProps = {
homepage: string,
relativeStake: BigNumber,
producedBlocks: number,
nonMyopicMemberRewards: number,
description: string,
cost: BigNumber,
pledge: BigNumber,
Expand All @@ -35,6 +36,7 @@ export default class StakePool {
@observable ticker: string;
@observable homepage: string;
@observable producedBlocks: number;
@observable nonMyopicMemberRewards: number;
@observable relativeStake: BigNumber;
@observable pledge: BigNumber;
@observable cost: BigNumber;
Expand Down
1 change: 1 addition & 0 deletions source/renderer/app/i18n/locales/en-US.json
Expand Up @@ -473,6 +473,7 @@
"staking.stakePools.tooltip.experimentalTooltipLabel": "Experimental feature, data may be inaccurate.",
"staking.stakePools.tooltip.pledge": "Pledge:",
"staking.stakePools.tooltip.producedBlocks": "Produced blocks:",
"staking.stakePools.tooltip.expectedRewards": "Expected rewards:",
"staking.stakePools.tooltip.profitMargin": "Pool margin:",
"staking.stakePools.tooltip.ranking": "Rank:",
"staking.stakePools.tooltip.relativeStake": "Controlled stake:",
Expand Down
1 change: 1 addition & 0 deletions source/renderer/app/i18n/locales/ja-JP.json
Expand Up @@ -473,6 +473,7 @@
"staking.stakePools.tooltip.experimentalTooltipLabel": "実験的機能データは不正確な場合があります",
"staking.stakePools.tooltip.pledge": "出資:",
"staking.stakePools.tooltip.producedBlocks": "生成ブロック数:",
"staking.stakePools.tooltip.expectedRewards": "期待される報酬:",
"staking.stakePools.tooltip.profitMargin": "プールマージン:",
"staking.stakePools.tooltip.ranking": "ランク:",
"staking.stakePools.tooltip.relativeStake": "管理下のステーク:",
Expand Down

0 comments on commit ae9c2f1

Please sign in to comment.