-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
39 lines (33 loc) · 942 Bytes
/
types.ts
File metadata and controls
39 lines (33 loc) · 942 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
export interface Ingredient {
name: string;
quantity?: string;
isMissing?: boolean;
substitutions?: string[]; // New: list of potential alternatives
}
export interface RecipeStep {
text: string;
audioData?: string;
}
export interface Recipe {
id: string;
title: string;
image: string;
difficulty: 'Easy' | 'Medium' | 'Hard';
prepTime: string;
calories: number;
ingredients: Ingredient[];
steps: string[];
dietaryTags: string[];
}
export type DietaryRestriction = 'None' | 'Vegetarian' | 'Vegan' | 'Keto' | 'Gluten-Free' | 'Paleo';
export type AppTab = 'fridge' | 'favorites' | 'pantry' | 'shopping';
export interface AppState {
scannedIngredients: string[];
pantryIngredients: string[]; // New: manually added items
recipes: Recipe[];
favoriteRecipes: Recipe[]; // New: saved recipes
shoppingList: string[];
filter: DietaryRestriction;
isScanning: boolean;
selectedRecipe: Recipe | null;
}