import PageBar from "../components/PageBar.jsx"; import SummaryCard from "../components/SummaryCard.jsx"; import { formatCurrency, formatTime, titleCase } from "../lib/formatters.js"; const queueStatuses = ["new", "making", "ready"]; export default function QueuePage({ adminUnlocked, logoPressing, onLogoPointerDown, onLogoPointerUp, onLogoPointerLeave, onLogoPointerCancel, onHideAdmin, view, setView, orders, updateOrderStatus, deleteOrder, setOrders, setError }) { return (
order.status !== "completed").length} /> order.status === "new").length} /> order.status === "making").length} /> order.status === "ready").length} />
{queueStatuses.map((status) => (

{titleCase(status)}

{orders.filter((order) => order.status === status).length} orders

{orders.filter((order) => order.status === status).map((order) => (

Order #{order.number}

{order.customerName || "Walk-in"}

{formatCurrency(order.total)}

{formatTime(order.createdAt)} • {titleCase(order.paymentMethod)}

{order.lines.map((line, index) => (

• {line.name} ({line.size})

))}
{ try { const response = await updateOrderStatus(order._id, newStatus); setOrders((current) => current.map((item) => { return item._id === response.order._id ? response.order : item; })); } catch (requestError) { setError(requestError.message); } }} />
))} {orders.filter((order) => order.status === status).length === 0 && (
No orders in {status}.
)}
))}
); } function NextStatusButton({ order, onAdvance }) { const map = { new: "making", making: "ready", ready: "completed" }; const next = map[order.status]; if (!next) { return null; } return ( ); }