import gradio as gr from components.popup import show_popup import pandas as pd menu_data = pd.read_excel("data/menu.xlsx") def generate_menu(preference): """Generate menu dynamically based on user preference.""" filtered_menu = menu_data if preference == "All" else menu_data[menu_data["Category"] == preference] menu_items = [] for _, row in filtered_menu.iterrows(): menu_items.append( gr.Column([ gr.Markdown(f"### {row['Dish Name']}"), gr.Image(f"static/images/{row['Image']}"), gr.Markdown(f"${row['Price']}"), gr.Markdown(f"{row['Description']}"), gr.Button("Add").click( show_popup, inputs=[row['Dish Name']], outputs="popup_display" ) ]) ) return gr.Row(menu_items)