File size: 2,255 Bytes
3f3be2f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
45
46
47
48
49
50
import gradio as gr
from restaurant_order_management import process_order
from restaurant_table_reservation import reserve_table
from restaurant_menu_system import recommend_dishes
from restaurant_feedback_analysis import analyze_feedback
from restaurant_chatbot import chat

# Combine all features into one app
with gr.Blocks() as restaurant_app:
    
    # Tab for Order Management
    with gr.Tab("Order Management"):
        table_number = gr.Number(label="Table Number")
        order_items = gr.Textbox(label="Order Items (e.g., Pizza, Pasta)")
        order_button = gr.Button("Place Order")
        order_output = gr.Textbox(label="Order Status")
        order_button.click(fn=process_order, inputs=[table_number, order_items], outputs=order_output)
    
    # Tab for Table Reservations
    with gr.Tab("Table Reservations"):
        date = gr.Date(label="Select Date")
        time = gr.Time(label="Select Time")
        guests = gr.Number(label="Number of Guests")
        reserve_button = gr.Button("Reserve Table")
        reserve_output = gr.Textbox(label="Reservation Status")
        reserve_button.click(fn=reserve_table, inputs=[date, time, guests], outputs=reserve_output)
    
    # Tab for Menu Recommendations
    with gr.Tab("Menu Recommendations"):
        preferences = gr.Textbox(label="Enter your dietary preferences")
        recommend_button = gr.Button("Get Recommendations")
        recommendations_output = gr.Textbox(label="Recommended Dishes")
        recommend_button.click(fn=recommend_dishes, inputs=preferences, outputs=recommendations_output)
    
    # Tab for Feedback Sentiment Analysis
    with gr.Tab("Feedback Analysis"):
        feedback = gr.Textbox(label="Customer Feedback")
        analyze_button = gr.Button("Analyze Feedback")
        sentiment_output = gr.Textbox(label="Sentiment Analysis")
        analyze_button.click(fn=analyze_feedback, inputs=feedback, outputs=sentiment_output)
    
    # Tab for Chatbot
    with gr.Tab("Chatbot"):
        user_input = gr.Textbox(label="Ask me anything")
        chat_button = gr.Button("Send")
        chatbot_output = gr.Textbox(label="Chatbot Response")
        chat_button.click(fn=chat, inputs=user_input, outputs=chatbot_output)

restaurant_app.launch()