Package-level declarations

Types

Link copied to clipboard

the actual widget but it will load the composable function instead

Link copied to clipboard

receiver used to load the widget in the manifest

Link copied to clipboard

entry point of the app

Link copied to clipboard

this is created so that the scheduler can be called even on device reboot if the app has not been opened

Functions

Link copied to clipboard

this will display the current groceries plus will display new groceries that the user wants to add

Link copied to clipboard

view that is showed then the data was not fetched in time from the API

Link copied to clipboard
Link copied to clipboard
fun DeleteAllDialog(context: Context, ingredients: SnapshotStateList<Ingredient>, onDismiss: () -> Unit)

small popup when the delete option in Fridge is selected without selecting any dishes

Link copied to clipboard
fun Fridge(navController: NavController)

the view that shows all of the ingredients that the user has or has added either from AddIngredients or from the Recipe views. The user can also navigate to the IngredientCamera view to take/load an image

Link copied to clipboard

The default view that the user sees when entering the app. The view has a daily Meal, alongside the option to either go to the Fridge or RecipeFinder. Another option is to chose random meals which sends the user to the Recipes

Link copied to clipboard
fun IngredientCamera(onDismiss: () -> Unit, onImageCaptured: (Uri) -> Unit)

The view that allows the user to take an image or upload one from their device that is sent to the backend and then returns a list of the ingredients

Link copied to clipboard
fun IngredientPopupDialog(navController: NavController, ingredients: SnapshotStateList<Ingredient>, ingredient: Ingredient, onDismiss: () -> Unit)

popup dialog use for Fridge and is used to display the item that has been double clicked

Link copied to clipboard
fun Loading(modifier: Modifier = Modifier.fillMaxSize())

A subview used to display a little animation while the data is being fetched from the backend

Link copied to clipboard

the navigation graph which connects the URL to the composable function

Link copied to clipboard
fun OptionsGrid(options: List<MealOption>, columns: Int, onclick: (MealOption) -> Unit)

a grid to display the options that the user has. Loads the data lazily

Link copied to clipboard
fun Recipe(navController: NavController, mealName: String?)

This view is to show the Meal that is chosen by the user. The view fetches the Meal from the backend but if it was seen again without going home it will load it from the TempStorage to prevent unnecessary fetch requests

Link copied to clipboard

This view allws the use to choose by name a dish they had seen before or think exists. Also this view allows the user to add restrictions or preferences such as vegan, seafood only, along side if they a main dish, breakfast...

Link copied to clipboard
fun Recipes(navController: NavController, searchType: SearchType, mealName: String?)

displays the fetched Meals

Link copied to clipboard
fun RecipesList(meals: List<Meal?>, images: List<Bitmap?>, refreshing: Boolean, onRefresh: () -> Unit, onClick: (Meal) -> Unit)

a lazy list that displays the recipes and allows for refreshing of them. And navigates to the clicked recipe Users can also turn of the refreshing