Skip to content

shadcn.io is an independent project built on shadcn/ui

Refurbished Product Card Block for React Aria

A pair of refurbished speakers with Fair, Good and Excellent grades that re-price against the new price and change how many scuffs are drawn, plus a twelve-point inspection list and a 12-month warranty.

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Sell used goods honestly with this refurbished product card for React with React Aria. A drawn greyscale speaker pair shows wear as short dashes; a Toggle Group of Fair, Good and Excellent sets the price, the struck price of a new pair, a badge such as "Save $140 against new" and how many scuffs show (fourteen, seven or two). A line says what the grade looks like, a twelve-point inspection list with checks and a 12-month warranty are the same on every grade, and the single Shine Button says the price and turns into "Added" with an Undo. Guides rule the bands. For refurbished and open-box listings.

FAQ

How are the grades defined?

In the typed GRADES array: a price in cents, the number of scuffs shown and a line of words. Savings are derived from the new price, never typed.

How is the wear drawn?

From a typed list of fourteen scuffs; each grade shows the first N. The same scuffs appear every time, so a grade always looks the same.

What stays local, and how do I wire it for real?

The grade and the bag are page state. Nothing is stored, charged or sent. Load each unit's real grade, photos and price from your inventory and add the serial to the line item.

How does it look on a phone?

The drawing comes first, then the grades, the price, the inspection list and the button.

Is it accessible?

The grades are a named group whose pressed item is announced, the drawing is a named image that says how many scuffs it shows, and the status line announces each change.