from FileHandler import read_json, combine_ingredients, write_checklist import flet as ft selected_meals = {} meal_json = read_json() def selector(page: ft.Page): def update_meal_selection(event): for meal in meal_list: if meal.value == False: if meal.label in selected_meals: selected_meals.pop(meal.label) else: selected_meals[meal.label] = meal_json[meal.label] print(selected_meals) write_checklist(combine_ingredients(selected_meals)) page.title = "Select Some Meals" meal_list = [] for name, _ in meal_json.items(): meal_list.append(ft.Checkbox(label=name)) submit_button = ft.ElevatedButton(text="Make Shopping List", on_click=update_meal_selection) page.controls[0].content = ft.Column( controls = [ ft.ListView( controls=meal_list, expand=True, spacing=10, padding=10, ), submit_button, ], height = 500, expand = False, ) page.update() if __name__ == "__main__": ft.app(selector)