import gradio as gr from utils.excel_operations import read_excel, write_excel from utils.state_management import state import uuid def place_order_page(): def place_order(): if not state.get("user"): return "Please log in first!" user = state["user"] cart = state.get("cart", []) if not cart: return "Your cart is empty!" orders = read_excel('data/orders.xlsx') order_id = str(uuid.uuid4()) total_cost = sum(item["Price"] * item["Quantity"] for item in cart) new_order = { "Order ID": order_id, "Customer Email": user["Email"], "Table ID": state.get("table_id", "Unknown"), "Items": cart, "Total Cost": total_cost, "Status": "Pending" } orders.append(new_order) write_excel('data/orders.xlsx', orders) # Clear cart after placing order state["cart"] = [] return f"Order placed successfully! Order ID: {order_id}" with gr.Group(): gr.Markdown("### Place Your Order") gr.Button("Place Order").click(place_order, outputs="Status")