import { createFileRoute, useNavigate } from '@tanstack/react-router' import { useGetCart, useUpdateCartItem, useRemoveFromCart } from '../hooks/cart-query-hooks' import { useAllProducts } from '../hooks/prominent-api-hooks' import { Quantifier } from 'web-components' import { AppLayout } from '../components/AppLayout' import { Trash2, ShoppingCart } from 'lucide-react' export const Route = createFileRoute('/home/cart')({ component: CartPage }) function CartPage() { const navigate = useNavigate() const { data: cart } = useGetCart('regular') const { data: productsData } = useAllProducts() const updateItem = useUpdateCartItem('regular') const removeItem = useRemoveFromCart('regular') const products = productsData?.products || [] const productsById: Record = {} products.forEach((p: any) => { productsById[p.id] = p }) const cartItems = (cart?.items || []).filter((item) => productsById[item.productId]) let total = 0 cartItems.forEach((item) => { const product = productsById[item.productId] if (product) { total += product.price * item.quantity } }) return (

Review Before Delivery

Your Cart

{cartItems.length === 0 ? (

Your cart is empty

Fresh cuts are waiting at the counter

) : (
{/* Items */}
{cartItems.map((item) => { const product = productsById[item.productId] const price = product.price return (
{product.name}

{product.name}

{product.productQuantity || 1}{product.unitNotation || ''} per unit

updateItem.mutate({ productId: item.productId, quantity: q })} />

₹{price}

₹{price * item.quantity}

) })}
{/* Summary */}

Bill Summary

Item Total

₹{total}

Delivery Fee

Calculated at checkout

Total

₹{total}

)}
) }