|
import gradio as gr |
|
from utils.excel_operations import read_excel, write_excel |
|
from utils.state_management import state |
|
|
|
def order_history_page(): |
|
def fetch_order_history(email): |
|
orders = read_excel('data/orders.xlsx') |
|
user_orders = [order for order in orders if order["Customer Email"] == email] |
|
return user_orders |
|
|
|
def reorder(order_id): |
|
orders = read_excel('data/orders.xlsx') |
|
order = next((o for o in orders if o["Order ID"] == order_id), None) |
|
if order: |
|
state["cart"] = order["Items"] |
|
return "Reordered items added to cart!" |
|
return "Order not found!" |
|
|
|
with gr.Group(): |
|
gr.Markdown("### Order History") |
|
if state.get("user"): |
|
email = state["user"]["Email"] |
|
order_history = fetch_order_history(email) |
|
for order in order_history: |
|
gr.Text(f"Order ID: {order['Order ID']}") |
|
gr.Text(f"Items: {', '.join([item['Item'] for item in order['Items']])}") |
|
gr.Text(f"Total Cost: {order['Total Cost']} ₹") |
|
gr.Button("Reorder").click(reorder, inputs=[order["Order ID"]], outputs="Status") |
|
else: |
|
gr.Markdown("Please log in to view your order history.") |
|
|