Files
calories-tracker/src/types.ts
T

67 lines
1.4 KiB
TypeScript

type FoodCategory = 'fats' | 'proteins' | 'carbs' | 'leaves' | 'fruits' | 'low carb' | 'dairy';
export type FoodItem = {
name: string;
nameEn: string;
info: { calories: number, protein: number, fat: number, carbs: number, fiber: number, category: FoodCategory, alkaline: boolean }
}
export type FoodStorage = {
id?: string;
name: string;
grams: number;
calories: number;
protein: number;
fat: number;
carbs: number;
fiber: number;
time: string;
date: string;
alkaline: boolean | null;
};
export type UserSettings = {
id?: string;
caloriesGoal?: number;
proteinGoal?: number;
fatGoal?: number;
carboGoal?: number;
fiberGoal?: number;
bodyWeight?: number;
height?: number;
bmi?: number;
bmiResult?: string;
goalName?: string;
isActive?: boolean;
timezone?: string;
};
export type DailyTotalCalories = {
documentId: string;
day: number;
totalCalories: number;
};
export type SharedDay = {
id?: string;
shareId: string;
userId: string;
userName: string;
date: string;
foodEntries: string; // JSON stringified FoodStorage[]
createdAt: string;
};
export type MealPeriod = 'pre-workout' | 'breakfast' | 'second-breakfast' | 'lunch' | 'snacks' | 'dinner' | 'night-snacks';
export type MealGroup = {
period: MealPeriod;
label: string;
entries: FoodStorage[];
totalCalories: number;
totalProtein: number;
totalFat: number;
totalCarbs: number;
isExpanded: boolean;
};