shadcn.io is not affiliated with official shadcn/ui
Recent Orders Dashboard Block for React
Eight orders filtered by status, ticked in bulk to mark as shipped or refund behind a confirm, and opened to their line items, shipping and total.
Installation
Overview
Triage a day of orders in one pass, with this order list for React with Base UI. A Segment Group in the first band shows All, Processing, Shipped or Refunded orders with their counts, and a hairline frame with a plus mark on each corner holds the list: a Checkbox per order, a mixed select-all in the head, the order number, the customer's initials, the day, the total and the status. An order's number opens its line items with shipping and the total, worked out from the typed lines. The foot says how many are selected and their value; the Shine Button "Mark as shipped" moves the selected processing orders to Shipped, and "Refund" asks first in an Alert Dialog, with focus on Cancel, before moving the selection to Refunded. The list holds its height for every filter and shows an empty message when nothing matches. Below the medium breakpoint each order is two lines. It's built from Segment Group, Checkbox, Alert Dialog, Avatar, Shine Button and Guides. For order management and support teams.
FAQ
How do I load my own orders?
Edit ORDERS. Each has an id, the customer's initials, an ISO day, a status, a shipping cost in cents and its lines (name, quantity and unit price in cents). The totals, counts and the sentence above are all worked out from those rows.
How does selecting work?
Tick any order that is not refunded, or use the mixed box in the head to tick or clear everything shown. Only the shown orders count, so changing the filter changes what the actions apply to. Mark as shipped only moves processing orders and says how many it left alone; a refunded order has no box.
What happens when I press Refund?
An alert dialog names the number of orders and the amount, with Cancel focused first. Confirming moves them to Refunded in this page and says nothing was sent to a payment provider; Cancel or Escape changes nothing. In both cases focus returns to the Refund button.
What stays local, and how do I wire it for real?
The orders, the ticks and the moves are component state, so a reload puts them back. To wire it up, send shipping to your fulfilment system and the refund to your payment provider from server actions, and update the rows from their results.