]>
cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/components/common_counter.js
2 import React
from 'react';
3 import { FormattedMessage
} from 'react-intl';
6 * Returns custom renderer for one of the common counter types
8 * @param {"statuses" | "following" | "followers"} counterType
10 * @param {boolean} isBold Whether display number must be displayed in bold
11 * @returns {(displayNumber: JSX.Element, pluralReady: number) => JSX.Element}
13 * @throws If counterType is not covered by this function
15 export function counterRenderer(counterType
, isBold
= true) {
17 * @type {(displayNumber: JSX.Element) => JSX.Element}
19 const renderCounter
= isBold
20 ? (displayNumber
) => <strong
>{displayNumber
}</strong
>
21 : (displayNumber
) => displayNumber
;
23 switch (counterType
) {
25 return (displayNumber
, pluralReady
) => (
27 id
='account.statuses_counter'
28 defaultMessage
='{count, plural, one {{counter} Toot} other {{counter} Toots}}'
31 counter: renderCounter(displayNumber
),
37 return (displayNumber
, pluralReady
) => (
39 id
='account.following_counter'
40 defaultMessage
='{count, plural, one {{counter} Following} other {{counter} Following}}'
43 counter: renderCounter(displayNumber
),
49 return (displayNumber
, pluralReady
) => (
51 id
='account.followers_counter'
52 defaultMessage
='{count, plural, one {{counter} Follower} other {{counter} Followers}}'
55 counter: renderCounter(displayNumber
),
60 default: throw Error(`Incorrect counter name: ${counterType}. Ensure it accepted by commonCounter function`);
This page took 0.09125 seconds and 4 git commands to generate.