export enum MealCategory {
  Breakfast = 0,
  SecondBreakfast = 1,
  Lunch = 2,
  Dinner = 3,
}

export const MEAL_CATEGORY_ROUTES: Record<MealCategory, string> = {
  [MealCategory.Breakfast]: "/breakfast",
  [MealCategory.SecondBreakfast]: "/second-breakfast",
  [MealCategory.Lunch]: "/lunch",
  [MealCategory.Dinner]: "/dinner",
};

export interface RecipeListItem {
  id: number;
  name: string;
  mealCategory: MealCategory;
  calories: number | null;
  prepTimeMinutes: number | null;
}

export interface Ingredient {
  id: number;
  name: string;
  amountGrams: number | null;
  unit: string | null;
  sortOrder: number;
  catalogItemId?: number | null;
}

export interface RecipeStep {
  id: number;
  stepNumber: number;
  description: string;
}

export interface RecipeDetail {
  id: number;
  name: string;
  mealCategory: MealCategory;
  calories: number | null;
  protein: number | null;
  fat: number | null;
  carbs: number | null;
  prepTimeMinutes: number | null;
  ingredients: Ingredient[];
  steps: RecipeStep[];
}

export interface CategoryCount {
  category: MealCategory;
  name: string;
  count: number;
}
