fix: unify activity labels and Russian plurals
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
export function kg(grams: number) { return `${(grams / 1000).toFixed(2)} кг`; }
|
||||
|
||||
export function plural(number: number, forms: readonly [string, string, string]) {
|
||||
const absolute = Math.abs(number) % 100;
|
||||
const last = absolute % 10;
|
||||
if (absolute > 10 && absolute < 20) return forms[2];
|
||||
if (last === 1) return forms[0];
|
||||
if (last >= 2 && last <= 4) return forms[1];
|
||||
return forms[2];
|
||||
}
|
||||
|
||||
export function activityLevel(score: number) {
|
||||
if (score >= 80) return { short: "Очень высокий", description: "Очень высокая активность" };
|
||||
if (score >= 60) return { short: "Высокий", description: "Высокая активность" };
|
||||
if (score >= 40) return { short: "Средний", description: "Средняя активность" };
|
||||
return { short: "Низкий", description: "Низкая активность" };
|
||||
}
|
||||
|
||||
export function ago(value: string) {
|
||||
const minutes = Math.max(0, Math.round((Date.now() - new Date(value).getTime()) / 60000));
|
||||
return minutes < 60 ? `${minutes} мин назад` : `${Math.floor(minutes / 60)} ч назад`;
|
||||
}
|
||||
Reference in New Issue
Block a user