restaurant_app / app.py
nagasurendra's picture
Update app.py
2dab63b verified
import gradio as gr
from menu_data import menu_data, get_suggestions
# State to store order details
final_order = []
def display_menu(category):
"""Fetch menu items dynamically based on category."""
return [f"{item['name']} - {item['price']}" for item in menu_data.get(category, [])]
def add_item(item_name):
"""Add selected item to the order."""
final_order.append(item_name)
suggestions = get_suggestions(item_name)
return f"Added: {item_name}", suggestions
def submit_order(custom_text):
"""Prepare final order summary."""
order_summary = f"Items: {', '.join(final_order)}\nCustom Notes: {custom_text}"
return order_summary
# Gradio app setup
with gr.Blocks() as app:
gr.Markdown("# 🍽 Restaurant Menu App")
# Menu Section
category_dropdown = gr.Dropdown(["Breads", "Veg Curries", "Non-Veg Curries"], label="Select Category")
menu_output = gr.CheckboxGroup(label="Menu Items")
category_dropdown.change(display_menu, category_dropdown, menu_output)
# Item Selection
selected_output = gr.Text(label="Your Selection")
suggestions_output = gr.CheckboxGroup(label="Suggestions")
menu_output.select(add_item, menu_output, [selected_output, suggestions_output])
# Final Order
custom_input = gr.Textbox(label="Custom Preparation Notes")
submit_btn = gr.Button("Submit Order")
final_output = gr.Textbox(label="Final Order Summary")
submit_btn.click(submit_order, custom_input, final_output)
app.launch()