mirror of
https://github.com/wassname/talk.git
synced 2026-07-05 00:18:23 +08:00
@@ -1,20 +1,13 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import styles from './CountBadge.css';
|
||||
|
||||
import t from 'coral-framework/services/i18n';
|
||||
import { humanizeNumber } from 'coral-framework/helpers/numbers';
|
||||
|
||||
const CountBadge = ({ count }) => {
|
||||
let number = count;
|
||||
|
||||
// shorten large counts to abbreviations
|
||||
if (number / 1e9 > 1) {
|
||||
number = `${(number / 1e9).toFixed(1)}${t('modqueue.billion')}`;
|
||||
} else if (number / 1e6 > 1) {
|
||||
number = `${(number / 1e6).toFixed(1)}${t('modqueue.million')}`;
|
||||
} else if (number / 1e3 > 1) {
|
||||
number = `${(number / 1e3).toFixed(1)}${t('modqueue.thousand')}`;
|
||||
}
|
||||
number = humanizeNumber(number);
|
||||
|
||||
return <span className={styles.count}>{number}</span>;
|
||||
};
|
||||
|
||||
@@ -23,6 +23,7 @@ import ActionsMenuItem from 'coral-admin/src/components/ActionsMenuItem';
|
||||
import UserInfoTooltip from './UserInfoTooltip';
|
||||
import KarmaTooltip from './KarmaTooltip';
|
||||
import t from 'coral-framework/services/i18n';
|
||||
import { humanizeNumber } from 'coral-framework/helpers/numbers';
|
||||
|
||||
class UserDetail extends React.Component {
|
||||
changeTab = tab => {
|
||||
@@ -243,7 +244,7 @@ class UserDetail extends React.Component {
|
||||
styles[getKarma(user.reliable.commenter)]
|
||||
)}
|
||||
>
|
||||
{user.reliable.commenterKarma}
|
||||
{humanizeNumber(user.reliable.commenterKarma)}
|
||||
</span>
|
||||
</div>
|
||||
<KarmaTooltip thresholds={karmaThresholds.comment} />
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import t from 'coral-framework/services/i18n';
|
||||
|
||||
const DECIMAL_AMOUNT = 1;
|
||||
|
||||
export function humanizeNumber(number) {
|
||||
const abs = Math.abs(number);
|
||||
|
||||
if (abs >= 1e9) {
|
||||
number = `${(number / 1e9).toFixed(DECIMAL_AMOUNT)}${t(
|
||||
'modqueue.billion'
|
||||
)}`;
|
||||
} else if (abs >= 1e6) {
|
||||
number = `${(number / 1e6).toFixed(DECIMAL_AMOUNT)}${t(
|
||||
'modqueue.million'
|
||||
)}`;
|
||||
} else if (abs >= 1e3) {
|
||||
number = `${(number / 1e3).toFixed(DECIMAL_AMOUNT)}${t(
|
||||
'modqueue.thousand'
|
||||
)}`;
|
||||
}
|
||||
return number;
|
||||
}
|
||||
Reference in New Issue
Block a user