e58ddbc809
* Tooltip: add 'followCursor' and 'placement' option When used on a `<span>` with short text but large empty area, the location of the tooltip was at the bottom-center of the area, which isn't ideal. I think 'followCursor' should be the default, but making it optional for now to minimize testing. Also added the 'placement' prop -- for the span case again, the mouse cursor is blocking the tooltip. * View/Follower count: only use compact when > 10k ## Issue Received complaints -- some people prefer to see full resolution. ## Changes - As a compromise, we'll only apply the compact notation when the value is greater than 10k, with the exception of Tile View Count, where we'll always apply it due to space limitation. - Also added Tooltip for Follower count. ## Fixes - The string was always in 'en' locale in some instances, so it wasn't grouping up digits properly in Japanese (groups of 4), for example.
23 lines
683 B
JavaScript
23 lines
683 B
JavaScript
// @flow
|
|
|
|
export function toCapitalCase(string: string) {
|
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
}
|
|
|
|
export function toCompactNotation(number: string | number, lang: ?string, minThresholdToApply?: string | number) {
|
|
const locale = lang || 'en';
|
|
|
|
if (minThresholdToApply && Number(number) >= Number(minThresholdToApply)) {
|
|
try {
|
|
return Number(number).toLocaleString(locale, {
|
|
compactDisplay: 'short',
|
|
notation: 'compact',
|
|
});
|
|
} catch (err) {
|
|
// Not all browsers support the additional options.
|
|
return Number(number).toLocaleString(locale);
|
|
}
|
|
} else {
|
|
return Number(number).toLocaleString(locale);
|
|
}
|
|
}
|