From ae3206c03d39767c7909734381d6ef9d3ae80542 Mon Sep 17 00:00:00 2001 From: Nicholas <16458785+NickKalar@users.noreply.github.com> Date: Fri, 21 Nov 2025 14:02:49 -0500 Subject: [PATCH] Initial selector page --- src/MealSelector.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/MealSelector.py diff --git a/src/MealSelector.py b/src/MealSelector.py new file mode 100644 index 0000000..b0f8502 --- /dev/null +++ b/src/MealSelector.py @@ -0,0 +1,36 @@ +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.add( + ft.ListView( + controls=meal_list, + expand=True, + spacing=10, + padding=10, + ), + submit_button, + ) + +ft.app(selector) \ No newline at end of file