import gradio as gr from simple_salesforce import Salesforce # Salesforce Connection sf = Salesforce(username='diggavalli98@gmail.com', password='Sati@1020', security_token='sSSjyhInIsUohKpG8sHzty2q') # Sample menu items from Salesforce def fetch_menu_items(): try: query = "SELECT Id, Name, Price__c, Image1__c, Description__c, Section__c FROM Menu_Item__c" menu_items = sf.query(query)['records'] return menu_items except Exception as e: print(f"Error fetching menu items: {e}") return [] # Cart management cart = {} def update_cart(item_id, name, price, quantity): if item_id in cart: cart[item_id]['quantity'] += quantity if cart[item_id]['quantity'] <= 0: del cart[item_id] else: if quantity > 0: cart[item_id] = {'name': name, 'price': price, 'quantity': quantity} return cart_summary() def cart_summary(): total_items = sum(item['quantity'] for item in cart.values()) total_cost = sum(item['quantity'] * item['price'] for item in cart.values()) return f"{total_items} items | Total: ₹{total_cost:.2f}" # Cart Page def cart_page(): items_html = "".join( f"""

{item['name']} (₹{item['price']})

Quantity: {item['quantity']}

""" for item in cart.values() ) total_cost = sum(item['quantity'] * item['price'] for item in cart.values()) return f"""

Your Cart

{items_html}

Total Cost: ₹{total_cost:.2f}

""" # Generate HTML for Menu Items def generate_menu_html(menu_items): html = "" for item in menu_items: html += f"""
{item['Name']}

{item['Name']}

₹{item['Price__c']}

0
""" return html # Gradio App with gr.Blocks() as app: menu_items = fetch_menu_items() with gr.Row(): gr.HTML("

Welcome to Biryani Hub

") with gr.Row(): gr.HTML(generate_menu_html(menu_items)) # Floating Cart Button with gr.Row(): cart_display = gr.HTML("0 items | Total: ₹0.00", elem_id="cart-summary") gr.Button("View Cart", elem_id="view-cart-btn").click(cart_page, [], cart_display) app.launch()