120 lines
3.6 KiB
TypeScript
120 lines
3.6 KiB
TypeScript
import { ActivityUnit, MealType, Pohlavi } from "../../types";
|
||
|
||
/** Lidsky čitelné názvy typů jídel. */
|
||
export const MEAL_TYPE_NAMES: Record<MealType, string> = {
|
||
SNIDANE: 'Snídaně',
|
||
DOPOLEDNI_SVACINA: 'Dopolední svačina',
|
||
OBED: 'Oběd',
|
||
ODPOLEDNI_SVACINA: 'Odpolední svačina',
|
||
VECERE: 'Večeře',
|
||
JINE: 'Jiné',
|
||
};
|
||
|
||
/** Emoji doprovázející typ jídla — odlišuje chody v seznamu na první pohled. */
|
||
export const MEAL_TYPE_ICONS: Record<MealType, string> = {
|
||
SNIDANE: '🥐',
|
||
DOPOLEDNI_SVACINA: '🍎',
|
||
OBED: '🍲',
|
||
ODPOLEDNI_SVACINA: '🥨',
|
||
VECERE: '🍽',
|
||
JINE: '🍫',
|
||
};
|
||
|
||
/** Typy jídel v pořadí, v jakém probíhá den. Určuje i pořadí v seznamech a výběrech. */
|
||
export const MEAL_TYPES_IN_ORDER: MealType[] = [
|
||
MealType.SNIDANE,
|
||
MealType.DOPOLEDNI_SVACINA,
|
||
MealType.OBED,
|
||
MealType.ODPOLEDNI_SVACINA,
|
||
MealType.VECERE,
|
||
MealType.JINE,
|
||
];
|
||
|
||
/** Lidsky čitelné názvy jednotek aktivit. */
|
||
export const ACTIVITY_UNIT_NAMES: Record<ActivityUnit, string> = {
|
||
KROKY: 'kroky',
|
||
MINUTY: 'minuty',
|
||
SEKUNDY: 'sekundy',
|
||
KM: 'km',
|
||
OPAKOVANI: 'opakování',
|
||
};
|
||
|
||
/** Zkratka jednotky za číslo, např. "10 000 kroků". U opakování nesmí být '×', kolidovalo by se zápisem sérií. */
|
||
export const ACTIVITY_UNIT_SHORT: Record<ActivityUnit, string> = {
|
||
KROKY: 'kroků',
|
||
MINUTY: 'min',
|
||
SEKUNDY: 's',
|
||
KM: 'km',
|
||
OPAKOVANI: 'opak.',
|
||
};
|
||
|
||
/** Jednotky v pořadí, v jakém se nabízejí. */
|
||
export const ACTIVITY_UNITS_IN_ORDER: ActivityUnit[] = [
|
||
ActivityUnit.KROKY,
|
||
ActivityUnit.MINUTY,
|
||
ActivityUnit.SEKUNDY,
|
||
ActivityUnit.KM,
|
||
ActivityUnit.OPAKOVANI,
|
||
];
|
||
|
||
/**
|
||
* Orientační spotřeba běžných aktivit v kcal na 100 jednotek.
|
||
*
|
||
* Hodnoty jsou hrubý odhad pro člověka kolem 75 kg a slouží jen jako
|
||
* předvyplnění — uživatel si je může kdykoli přepsat.
|
||
*/
|
||
export const ACTIVITY_PRESETS: { name: string, unit: ActivityUnit, caloriesPer100Units: number }[] = [
|
||
{ name: 'Chůze', unit: ActivityUnit.KROKY, caloriesPer100Units: 4 },
|
||
{ name: 'Svižná chůze', unit: ActivityUnit.MINUTY, caloriesPer100Units: 500 },
|
||
{ name: 'Běh', unit: ActivityUnit.MINUTY, caloriesPer100Units: 1000 },
|
||
{ name: 'Kolo', unit: ActivityUnit.MINUTY, caloriesPer100Units: 700 },
|
||
{ name: 'Plavání', unit: ActivityUnit.MINUTY, caloriesPer100Units: 800 },
|
||
{ name: 'Posilovna', unit: ActivityUnit.MINUTY, caloriesPer100Units: 600 },
|
||
{ name: 'Kliky', unit: ActivityUnit.OPAKOVANI, caloriesPer100Units: 50 },
|
||
{ name: 'Dřepy', unit: ActivityUnit.OPAKOVANI, caloriesPer100Units: 40 },
|
||
{ name: 'Shyby', unit: ActivityUnit.OPAKOVANI, caloriesPer100Units: 100 },
|
||
];
|
||
|
||
/** Záložky přehledu dne. */
|
||
export enum DayTab {
|
||
PRIJEM = 'PRIJEM',
|
||
VYDEJ = 'VYDEJ',
|
||
}
|
||
|
||
export const DAY_TAB_NAMES: Record<DayTab, string> = {
|
||
PRIJEM: 'Příjem',
|
||
VYDEJ: 'Výdej',
|
||
};
|
||
|
||
/** Rozsahy, za které lze zobrazit statistiky. */
|
||
export enum StatsRange {
|
||
MESIC = 'MESIC',
|
||
ROK = 'ROK',
|
||
VSE = 'VSE',
|
||
}
|
||
|
||
export const STATS_RANGE_NAMES: Record<StatsRange, string> = {
|
||
MESIC: 'Měsíc',
|
||
ROK: 'Rok',
|
||
VSE: 'Vše',
|
||
};
|
||
|
||
/** Lidsky čitelné názvy pohlaví. */
|
||
export const POHLAVI_NAMES: Record<Pohlavi, string> = {
|
||
MUZ: 'Muž',
|
||
ZENA: 'Žena',
|
||
};
|
||
|
||
export const POHLAVI_IN_ORDER: Pohlavi[] = [Pohlavi.MUZ, Pohlavi.ZENA];
|
||
|
||
/** Záložky stránky se šablonami. */
|
||
export enum TemplateTab {
|
||
TRENINKY = 'TRENINKY',
|
||
JIDLA = 'JIDLA',
|
||
}
|
||
|
||
export const TEMPLATE_TAB_NAMES: Record<TemplateTab, string> = {
|
||
TRENINKY: 'Tréninky',
|
||
JIDLA: 'Jídla',
|
||
};
|