Files
food-tracer/client/src/enums.ts
T

120 lines
3.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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',
};