Dynamic-Menu / app.py
SathvikGanta's picture
Update app.py
491df19 verified
raw
history blame
1.57 kB
import gradio as gr
from components.menu import generate_menu
from components.popup import show_popup
from components.cart import add_to_cart, cart_data
import pandas as pd
# Load menu data
menu_data = pd.read_excel("data/menu.xlsx")
def main():
with gr.Blocks(css="static/styles.css") as app:
gr.Markdown("# Dynamic Menu with Popups and Ordering System")
# Preference Selection
preference = gr.Radio(
label="Choose a Preference",
choices=["All", "Vegetarian", "Non-Vegetarian", "Guilt-Free"],
value="All"
)
# Menu Display
menu_display = gr.Row()
preference.change(generate_menu, inputs=[preference], outputs=menu_display)
# Popup Display
popup_display = gr.Column(visible=False) # Placeholder for popup
# Cart Section
gr.Markdown("## Your Cart")
cart_display = gr.Dataframe(
value=pd.DataFrame(cart_data(), columns=["Dish", "Spice Level", "Extras", "Instructions", "Quantity", "Price"]),
headers=["Dish", "Spice Level", "Extras", "Instructions", "Quantity", "Price"]
)
# Keep updating the cart display
def update_cart_display():
return pd.DataFrame(cart_data(), columns=["Dish", "Spice Level", "Extras", "Instructions", "Quantity", "Price"])
# Update cart when new item is added
gr.Button("Update Cart").click(
update_cart_display, inputs=[], outputs=cart_display
)
app.launch()
if __name__ == "__main__":
main()