Spaces:
Sleeping
Sleeping
| 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() | |