diff --git a/ui/component/common/credit-amount.jsx b/ui/component/common/credit-amount.jsx index d2f6c63af..f4c52139e 100644 --- a/ui/component/common/credit-amount.jsx +++ b/ui/component/common/credit-amount.jsx @@ -14,6 +14,7 @@ type Props = { showLBC?: boolean, fee?: boolean, className?: string, + noFormat?: boolean, }; class CreditAmount extends React.PureComponent { @@ -23,10 +24,22 @@ class CreditAmount extends React.PureComponent { showFullPrice: false, showPlus: false, showLBC: true, + noFormat: false, }; render() { - const { amount, precision, showFullPrice, showFree, showPlus, isEstimate, fee, showLBC, className } = this.props; + const { + amount, + precision, + showFullPrice, + showFree, + showPlus, + isEstimate, + fee, + showLBC, + className, + noFormat, + } = this.props; const minimumRenderableAmount = 10 ** (-1 * precision); const fullPrice = formatFullPrice(amount, 2); @@ -46,7 +59,7 @@ class CreditAmount extends React.PureComponent { if (showFree && isFree) { amountText = __('Free'); } else { - amountText = formattedAmount; + amountText = noFormat ? amount : formattedAmount; if (showPlus && amount > 0) { amountText = `+${amountText}`; diff --git a/ui/component/common/lbc-message.jsx b/ui/component/common/lbc-message.jsx new file mode 100644 index 000000000..ff1d684a5 --- /dev/null +++ b/ui/component/common/lbc-message.jsx @@ -0,0 +1,23 @@ +// @flow +import React from 'react'; +import I18nMessage from 'component/i18nMessage'; +import CreditAmount from 'component/common/credit-amount'; + +type Props = { + children: string, +}; + +export default function LbcMessage(props: Props) { + let amount; + const tokenizedMessage = props.children.replace(/(\d?\.?-?\d+?\.?-?\d+?)\s(LBC)/g, (originalString, lbcAmount) => { + amount = lbcAmount; + return `%lbc%`; + }); + + return ( + : undefined }}> + {/* Catch any rogue LBC's left */} + {tokenizedMessage.replace(/LBC/g, 'LBRY Credits')} + + ); +} diff --git a/ui/component/inviteList/view.jsx b/ui/component/inviteList/view.jsx index c0c024e57..e70abf868 100644 --- a/ui/component/inviteList/view.jsx +++ b/ui/component/inviteList/view.jsx @@ -4,6 +4,7 @@ import RewardLink from 'component/rewardLink'; import Icon from 'component/common/icon'; import * as ICONS from 'constants/icons'; import Card from 'component/common/card'; +import LbcMessage from 'component/common/lbc-message'; type Props = { invitees: ?Array<{ @@ -31,14 +32,18 @@ class InviteList extends React.PureComponent { if (referralReward) { rewardAmount = referralReward.reward_amount; - rewardHelp = referralReward.reward_description.replace('LBC', 'LBRY Credits'); + rewardHelp = referralReward.reward_description; } const showClaimable = invitees.some(invite => invite.invite_reward_claimable && !invite.invite_reward_claimed); return ( {__('Invite History')}} - subtitle={
{rewardHelp}
} + subtitle={ +
+ {rewardHelp} +
+ } titleActions={ referralReward && showClaimable && ( diff --git a/ui/component/rewardLink/view.jsx b/ui/component/rewardLink/view.jsx index bfb9dd4dc..7e30f651c 100644 --- a/ui/component/rewardLink/view.jsx +++ b/ui/component/rewardLink/view.jsx @@ -1,7 +1,7 @@ // @flow -import * as ICONS from 'constants/icons'; import React from 'react'; import Button from 'component/button'; +import LbcMessage from 'component/common/lbc-message'; type Reward = { reward_amount: number, @@ -24,19 +24,18 @@ const RewardLink = (props: Props) => { } else if (label) { displayLabel = label; } else if (reward && reward.reward_range && reward.reward_range.includes('-')) { - displayLabel = __('Claim %range%', { range: reward.reward_range }); + displayLabel = __('Claim %range% LBC', { range: reward.reward_range }); } else if (reward && reward.reward_amount > 0) { - displayLabel = __('Claim %amount%', { amount: reward.reward_amount }); + displayLabel = __('Claim %amount% LBC', { amount: reward.reward_amount }); } else { - displayLabel = __('Claim ???'); + displayLabel = __('Claim ??? LBC'); } return !reward ? null : (