File size: 1,094 Bytes
873849b
d4dab20
 
 
ff2929a
d4dab20
ff2929a
d4dab20
 
 
 
 
 
 
ff2929a
d4dab20
 
 
ff2929a
d4dab20
ff2929a
 
 
 
 
 
 
 
d4dab20
ff2929a
 
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
import gradio as gr
from components.cards import create_food_card
from components.data import FOOD_DATA

# Function to render the popup card when an item is clicked
def display_card(food_name):
    return create_food_card(food_name)

# 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():
        for food_name in FOOD_DATA.keys():
            with gr.Column():
                # Each item card is a clickable button
                gr.Button(
                    value=food_name,
                    elem_id=f"food-{food_name.replace(' ', '-').lower()}",
                    interactive=True,
                ).click(display_card, inputs=None, outputs=gr.HTML())

    # Display area for the popup card
    display_area = gr.HTML()

# Launch the app
app.launch()