Initial selector page
This commit is contained in:
36
src/MealSelector.py
Normal file
36
src/MealSelector.py
Normal file
@@ -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)
|
||||
Reference in New Issue
Block a user