From f580608a3137bb6cac309184f47db65e06c35038 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Fri, 1 Jun 2018 15:13:58 -0600 Subject: [PATCH 1/5] feat: humanize karma number --- .../coral-admin/src/components/CountBadge.js | 11 ++-------- .../coral-admin/src/components/UserDetail.js | 3 ++- client/coral-framework/helpers/numbers.js | 22 +++++++++++++++++++ 3 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 client/coral-framework/helpers/numbers.js diff --git a/client/coral-admin/src/components/CountBadge.js b/client/coral-admin/src/components/CountBadge.js index c270817b9..24dff7c02 100644 --- a/client/coral-admin/src/components/CountBadge.js +++ b/client/coral-admin/src/components/CountBadge.js @@ -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 {number}; }; diff --git a/client/coral-admin/src/components/UserDetail.js b/client/coral-admin/src/components/UserDetail.js index fd609373d..05af20c67 100644 --- a/client/coral-admin/src/components/UserDetail.js +++ b/client/coral-admin/src/components/UserDetail.js @@ -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)} diff --git a/client/coral-framework/helpers/numbers.js b/client/coral-framework/helpers/numbers.js new file mode 100644 index 000000000..bd7f066da --- /dev/null +++ b/client/coral-framework/helpers/numbers.js @@ -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; +} From 2f4dfa080bf66e5faab8ee0f86992ad690a56e65 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 4 Jun 2018 15:10:24 +0200 Subject: [PATCH 2/5] Use Markdown for the "asset is closed" message. --- .../src/routes/Configure/components/StreamSettings.js | 8 ++++---- .../src/tabs/stream/components/Stream.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client/coral-admin/src/routes/Configure/components/StreamSettings.js b/client/coral-admin/src/routes/Configure/components/StreamSettings.js index 1f661fd72..969155d48 100644 --- a/client/coral-admin/src/routes/Configure/components/StreamSettings.js +++ b/client/coral-admin/src/routes/Configure/components/StreamSettings.js @@ -3,7 +3,7 @@ import { SelectField, Option } from 'react-mdl-selectfield'; import t from 'coral-framework/services/i18n'; import styles from './StreamSettings.css'; import { Textfield } from 'react-mdl'; -import { Icon, TextArea } from 'coral-ui'; +import { Icon } from 'coral-ui'; import PropTypes from 'prop-types'; import Slot from 'coral-framework/components/Slot'; import MarkdownEditor from 'coral-framework/components/MarkdownEditor'; @@ -66,8 +66,8 @@ class StreamSettings extends React.Component { this.props.updatePending({ updater }); }; - updateClosedMessage = event => { - const updater = { closedMessage: { $set: event.target.value } }; + updateClosedMessage = value => { + const updater = { closedMessage: { $set: value } }; this.props.updatePending({ updater }); }; @@ -178,7 +178,7 @@ class StreamSettings extends React.Component { >

{t('configure.closed_comments_desc')}

-