Spaces:
Sleeping
Sleeping
File size: 1,340 Bytes
873849b d4dab20 67c9708 d4dab20 67c9708 d4dab20 ff2929a d4dab20 ff2929a 67c9708 1af685e ff2929a 67c9708 ff2929a 1af685e d4dab20 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import gradio as gr
from components.cards import create_food_card
from components.data import FOOD_DATA
# Function to render the popup card when a button is clicked
def display_card(food_name):
if food_name in FOOD_DATA:
return create_food_card(food_name)
else:
return "<p>No data available for the selected item.</p>"
# Gradio app interface
with gr.Blocks(css="styles.css") as app:
gr.Markdown("# π½οΈ Indian & Chinese Food Nutritional Information App")
gr.Markdown(
"""
### Explore Popular Dishes π
Click on any dish card below to view its image, nutritional facts, and portion size.
"""
)
# Display all items as clickable cards
with gr.Row(elem_id="food-list"):
display_area = gr.HTML() # Popup card display area
for food_name in FOOD_DATA.keys():
with gr.Column():
# Each button is a card for a food item
gr.Button(
value=food_name,
elem_id=f"food-{food_name.replace(' ', '-').lower()}",
interactive=True,
).click(
display_card,
inputs=[gr.Textbox(value=food_name, visible=False)],
outputs=display_area
)
# Launch the app
app.launch()
|