Commerce

Order List

Customer-facing food order history cards for restaurant and commerce flows. Each card can show the order title, restaurant name, order number, placed time, fulfillment type, payment status, order status, and total amount. Tapping an order opens a linked detail screen or the built-in detail modal.

LayoutOrder cards

Readable customer order rows with fixed MVP spacing, image, status, and meta lines.

Tap behaviorScreen or modal

Use a detail screen when linked, or fall back to the built-in bottom-sheet detail modal.

TierFree

Available on all plans. Backend and status-filter controls are locked for this MVP.

What it does

Four things worth knowing

Customer-facing order history

Order List renders a readable list of food orders after checkout, with enough detail for customers to recognize each order quickly.

Core order metadata

Each card can show item-based title, restaurant name, order number, placed time, fulfillment type, payment status label, status badge, and total amount.

Fixed MVP data mode

The component is currently fixed to local/runtime order data. Backend fetch and status-filter controls are intentionally locked and hidden.

Detail screen or modal

If detailScreenId is set, card tap calls onScreenNavigate(detailScreenId, params) with the full order payload. Otherwise it opens the built-in bottom-sheet detail modal.

Builder setup

Find it, drop it, connect details if needed

Where to find itAdd it to an orders screen

  1. Component picker → CommerceOrder List.
  2. Drop it onto an orders, account history, or post-checkout screen.
  3. Set headerText and emptyText for the screen copy.

Before you publishThree things to check

  1. Optionally connect detailScreenId if order taps should open a dedicated screen.
  2. Preview with placed orders from the cart/order flow so cards show real runtime data.
  3. Confirm locked fields like Status Filter, Spacing, and visibility toggles are not exposed.
Category: CommerceComponent: BuilderOrderListRegistry key: order-listTier: Free
Props

Content and navigation

PropTypeDefaultDescription
headerTextstring’Your Orders’Title shown above the order list.
emptyTextstring’Your orders will show up here after checkout.‘Message shown when there are no orders.
detailScreenIdscreen-selectOptional target screen for order taps.
Toggles & colours

Make it yours

Editable styling controls are focused on text, cards, status colors, and empty-state presentation. Runtime uses fixed values for hidden MVP layout and visibility fields.

PropDefaultWhat it controls
borderRadius14Order card corner radius.
titleFontSize16Main order title size.
backgroundColor#FFFFFFOuter list background.
cardBackgroundColor#FFFFFFIndividual order card background.
titleColor#1A1A1AOrder title text color.
metaColor#6B7280Restaurant, number, placed time, and fulfillment metadata color.
priceColor#EA580CTotal amount color.
statusColor#FFFFFFStatus badge text color.
statusBackgroundColor#EA580CStatus badge background color.
borderColor#E8E8E8Card border color.
headerTextColor#1A1A1AList heading text color.
emptyTextColor#9CA3AFEmpty-state message color.
emptyIconColor#D1D5DBEmpty-state icon color.
fontFamilyUrbanist-MediumTypography family used throughout the component.
Tips

Common mistakes to avoid

Do not expose locked MVP fields

statusFilter, useBackendData, image/status/item-count/fulfillment/placed-time toggles, spacing, and other fixed layout fields must stay hidden.

Legacy values are scrubbed

Old saved values for locked fields are automatically ignored and removed in the editor so old screens cannot keep exposing them.

Use a detail screen only when needed

If no custom order detail layout is needed, leave detailScreenId empty and use the built-in modal.

Keep code locations in sync

If requirements change, update builderComponentRegistry.ts, BuilderOrderList.tsx, and ComponentPropertyEditor.tsx, then rebuild the deploy bundle.