geethareddy commited on
Commit
2791a10
·
verified ·
1 Parent(s): 3fa4c7d

Create menu_display.py

Browse files
Files changed (1) hide show
  1. components/menu_display.py +35 -0
components/menu_display.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from utils.excel_operations import read_excel
3
+ from utils.state_management import state
4
+
5
+ def menu_page():
6
+ def get_filtered_menu():
7
+ user = state.get("user")
8
+ if not user:
9
+ return "Please log in first!"
10
+
11
+ preferences = user["Preferences"]
12
+ allergies = user["Allergies"].split(",")
13
+ menu = read_excel("data/menu.xlsx")
14
+ filtered_menu = [
15
+ item for item in menu
16
+ if preferences in item["Category"] and not any(allergen in allergies for allergen in item["Allergens"])
17
+ ]
18
+ return filtered_menu
19
+
20
+ def add_to_cart(item, spice_level):
21
+ cart = state.get("cart", [])
22
+ cart.append({"Item": item, "Spice Level": spice_level})
23
+ state["cart"] = cart
24
+ return "Added to cart!"
25
+
26
+ menu_items = get_filtered_menu()
27
+
28
+ with gr.Group():
29
+ gr.Markdown("### Menu")
30
+ for item in menu_items:
31
+ with gr.Box():
32
+ gr.Image(item["Image"], label=item["Name"])
33
+ gr.Text(f"{item['Price']} ₹")
34
+ spice_level = gr.Radio(["Mild 🌶️", "Medium 🌶️🌶️", "High 🌶️🌶️🌶️"], label="Spice Level")
35
+ gr.Button("Add").click(add_to_cart, inputs=[item["Name"], spice_level], outputs="Status")