import gradio as gr from components.popup import show_popup def generate_menu(preference, menu_data): """Generate dynamic menu based on preference.""" filtered_menu = menu_data if preference == "All" else menu_data[menu_data["Category"] == preference] menu_buttons = [] for _, row in filtered_menu.iterrows(): menu_buttons.append( gr.Button(row["Dish Name"]).click( show_popup, inputs=[row["Dish Name"], menu_data], outputs="popup_display" ) ) return gr.Column(menu_buttons)