From 5319232918f30a08f96bbb5ef78ddaa623f48d45 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 26 Apr 2022 12:28:23 -0300 Subject: [PATCH] Format numbers internationally. --- ui/component/channelAbout/view.jsx | 3 +- ui/component/claimPreview/view.jsx | 7 ++-- ui/component/claimPreviewSubtitle/view.jsx | 3 +- ui/component/comment/view.jsx | 3 +- ui/component/commentReactions/view.jsx | 13 +++++- ui/component/fileReactions/view.jsx | 18 +++----- ui/component/fileViewCount/view.jsx | 8 ++-- ui/component/publishBid/bid-help-text.jsx | 4 +- ui/page/channel/view.jsx | 3 +- ui/util/comments.js | 3 +- ui/util/format-credits.js | 48 ++++++++-------------- ui/util/number.js | 10 +++++ 12 files changed, 64 insertions(+), 59 deletions(-) diff --git a/ui/component/channelAbout/view.jsx b/ui/component/channelAbout/view.jsx index a49adff3d..c40ece9ed 100644 --- a/ui/component/channelAbout/view.jsx +++ b/ui/component/channelAbout/view.jsx @@ -6,6 +6,7 @@ import CreditAmount from 'component/common/credit-amount'; import DateTime from 'component/dateTime'; import YoutubeBadge from 'component/youtubeBadge'; import SUPPORTED_LANGUAGES from 'constants/supported_languages'; +import { formatNumber } from 'util/number'; type Props = { claim: ChannelClaim, @@ -74,7 +75,7 @@ function ChannelAbout(props: Props) { -
{claim.meta.claims_in_channel}
+
{formatNumber(claim.meta.claims_in_channel || 0, 2, true)}
diff --git a/ui/component/claimPreview/view.jsx b/ui/component/claimPreview/view.jsx index 5664655af..9717eeec7 100644 --- a/ui/component/claimPreview/view.jsx +++ b/ui/component/claimPreview/view.jsx @@ -9,7 +9,7 @@ import * as COLLECTIONS_CONSTS from 'constants/collections'; import { isChannelClaim } from 'util/claim'; import { formatLbryUrlForWeb } from 'util/url'; import { formatClaimPreviewTitle } from 'util/formatAriaLabel'; -import { toCompactNotation } from 'util/string'; +import { formatNumber } from 'util/number'; import Tooltip from 'component/common/tooltip'; import FileThumbnail from 'component/fileThumbnail'; import UriIndicator from 'component/uriIndicator'; @@ -138,7 +138,6 @@ const ClaimPreview = forwardRef((props: Props, ref: any) => { indexInContainer, channelSubCount, swipeLayout = false, - lang, showEdit, dragHandleProps, unavailableUris, @@ -162,8 +161,8 @@ const ClaimPreview = forwardRef((props: Props, ref: any) => { if (channelSubCount === undefined) { return ; } - const formattedSubCount = toCompactNotation(channelSubCount, lang, 10000); - const formattedSubCountLocale = Number(channelSubCount).toLocaleString(); + const formattedSubCount = formatNumber(channelSubCount, 2, true); + const formattedSubCountLocale = formatNumber(channelSubCount, 2, false); return (
diff --git a/ui/component/claimPreviewSubtitle/view.jsx b/ui/component/claimPreviewSubtitle/view.jsx index e2d0afb0d..6f67b44e1 100644 --- a/ui/component/claimPreviewSubtitle/view.jsx +++ b/ui/component/claimPreviewSubtitle/view.jsx @@ -5,6 +5,7 @@ import DateTime from 'component/dateTime'; import Button from 'component/button'; import FileViewCountInline from 'component/fileViewCountInline'; import { parseURI } from 'util/lbryURI'; +import { formatNumber } from 'util/number'; type Props = { uri: string, @@ -34,7 +35,7 @@ function ClaimPreviewSubtitle(props: Props) { <> {isChannel && type !== 'inline' && - `${claimsInChannel} ${claimsInChannel === 1 ? __('upload') : __('uploads')}`} + `${formatNumber(claimsInChannel, 2, true)} ${claimsInChannel === 1 ? __('upload') : __('uploads')}`} {!isChannel && ( <> diff --git a/ui/component/comment/view.jsx b/ui/component/comment/view.jsx index 9ec8925da..95444e158 100644 --- a/ui/component/comment/view.jsx +++ b/ui/component/comment/view.jsx @@ -8,6 +8,7 @@ import { FF_MAX_CHARS_IN_COMMENT } from 'constants/form-field'; import { SITE_NAME, ENABLE_COMMENT_REACTIONS } from 'config'; import React, { useEffect, useState } from 'react'; import { parseURI } from 'util/lbryURI'; +import { formatNumber } from 'util/number'; import DateTime from 'component/dateTime'; import Button from 'component/button'; import Expandable from 'component/expandable'; @@ -384,7 +385,7 @@ function CommentView(props: Props) { label={ numDirectReplies < 2 ? __('Show reply') - : __('Show %count% replies', { count: numDirectReplies }) + : __('Show %count% replies', { count: formatNumber(numDirectReplies, 2, true) }) } button="link" onClick={() => { diff --git a/ui/component/commentReactions/view.jsx b/ui/component/commentReactions/view.jsx index 379eb62e6..d2ee3cf37 100644 --- a/ui/component/commentReactions/view.jsx +++ b/ui/component/commentReactions/view.jsx @@ -9,6 +9,7 @@ import Button from 'component/button'; import ChannelThumbnail from 'component/channelThumbnail'; import { useHistory } from 'react-router'; import { useIsMobile } from 'effects/use-screensize'; +import { formatNumber } from 'util/number'; type Props = { myReacts: Array, @@ -109,7 +110,11 @@ export default function CommentReactions(props: Props) { 'comment__action--active': myReacts && myReacts.includes(REACTION_TYPES.LIKE), })} onClick={handleCommentLike} - label={{getCountForReact(REACTION_TYPES.LIKE)}} + label={ + + {formatNumber(getCountForReact(REACTION_TYPES.LIKE), 2, true)} + + } />