WingoUI
Buttons & Actions
ButtonButton GroupCopy ButtonDelete ButtonTheme ToggleToggleToggle Group
Inputs
Avatar UploadCalendarCheckboxColor PickerComboboxCron PickerCurrency InputDate PickerDate Range PickerDate Time PickerDuration PickerFile UploadFilter BuilderInputInput GroupListboxMasked InputMention InputMonth PickerMulti SelectNumber InputOTP InputPassword InputPhone InputRadio GroupRatingSearch InputSegmented ControlSelectSignature PadSliderSwitchTag InputTextareaTime Picker
Forms
Address InputCSV ImportFieldForm WizardInline EditInvoice line itemsRich Text Editor
Navigation
Back To TopBounce SidebarBreadcrumbCommand MenuGlobal SearchGooey NavHook SidebarNav MenuNav TabsPaginationProximity SidebarScroll ProgressSidebarStepsTable Of ContentsTabsTopbarUser MenuWorkspace Switcher
Overlays
Alert DialogContext MenuDialogDrawerDropdown MenuFamily DrawerHover CardPopoverSheetShortcuts DialogTooltipTour
Feedback
AlertBannerCookie ConsentEmoji ReactionEmpty StateNotification BellNotification CenterProgressRoute ProgressSkeletonSpinnerToast
Data Display
Approval FlowAvatarBadgeCalendar ViewCode BlockComment ThreadContact cardCountdownDescription ListDiff ViewerFile ListFile managerFolderGanttJSON ViewerKbdLog ViewerMarkdownPresenceSchedulerTagTimelineTree View
Tables & Lists
Audit LogData TableDeal PipelineEditable GridKanbanListMembers tablePermissions MatrixTableTask ListVirtual List
Charts & Stats
Animated CounterArea chartBar chartDonut chartFunnel chartGaugeGitHub ActivityHeatmap calendarLeaderboardLine chartRadial barSparklineStat CardTrackerTrend badge
Layout
AccordionApp ShellCardCollapsibleDetail LayoutEntity HeaderPage HeaderScroll AreaSeparatorSettings LayoutSplit ViewToolbar
Media
Audio PlayerCarouselImage CropperImage LightboxLocation MapQR CodeStep PlayerVideo Player
AI Kit
Agent Status CardChat MessageChat ThreadConversation ListFluid OrbGrid RevealMatrix OrbModel PickerPrompt InputReasoning IndicatorRule BuilderSuggestion ChipsTool Call TimelineUsage MeterVoice InputWorkflow Canvas
Text & Effects
Gravity Letters
Mobile
Action SheetBottom Tab BarFABHaptic ButtonHero HeaderInstall PromptLarge Title HeaderNotification BannerOnboarding CarouselPicker WheelPull To RefreshSlide To ConfirmSticky CTA BarSwipe DeckSwipeable Tabs
Commerce
Cart drawerCategory pickerCheckout stepsCoupon inputFavorite buttonFilter panelListing cardListing gridOrder trackerPricePrice rangePricing tableProduct galleryQuantity stepperReviewsSeller card
Blocks
Admin Dashboard PageAdmin ShellAI Chat PageAutomation Builder PageCheckout PageCRM Contact PageCRM Pipeline PageError PagesInbox PageInvoice PageKPI DashboardListing Detail PageLogin PageMarketplace Home PageMarketplace Search PageMarketplace ShellMobile App HomeOnboarding FlowPost Listing WizardPricing PageRegister PageSettings PageUsers Admin Page
Hooks & Utilities
AI ChatChart kitCommerceDate utilsFile exportFile typesFiltersForm validationHapticsInvoicingMotion presetsNavigationNumber formatRelative timeRomanian locationsSpreadsheetText matchTonesUIProvideruseClipboarduseConsentuseControllableStateuseCooldownuseDebounceuseKeyboardInsetuseLocaleuseLongPressuseMediaControlsuseMediaQueryuseOverflowItemsusePersistedStateuseScrollEdgesuseScrollStateuseSelectionuseShortcutuseStickToBottom
GalleryThemeCredits

Commerce

Reviews

CommerceReviews
Quantity stepperSeller card
Live props
Layout
layout
showSummary
showDistribution
maxLines4
Behavior
filterable
sortable
photoLightbox
locale
State
defaultSort
loading
skeletonCount3
hasMore
loadingMore
Appearance
size
tone
color
Code
import { Reviews } from "@/components/ui/reviews"

<Reviews />
Pro

v1.0.0·Added in 1.0.0

Product and seller reviews: the average, stars and a 5 to 1 breakdown that filters, then sortable reviews with photos, replies and votes.

The summary shows the average, its stars and how many reviews there are; the five bars grow in one after another the first time they scroll into view. Tap or click a bar to see only that many stars (it stays highlighted, the other bars dim), tap it again to see all; the chips above the list do the same and add "With photos", and the list reflows with the reviews sliding into place. Sort opens a menu on a laptop and a bottom sheet on a phone. Long reviews stop after a few lines with "Show more", which springs the rest open. Tap a photo to open it full screen (swipe between photos, pinch or double tap to zoom, swipe down or press Escape to close, and focus returns to the photo). "Helpful" votes at once and rolls back if saving fails; the count moves by one with it. On a wide container the summary sits in a sticky column beside the list; below that it stacks above. Keyboard: Tab through the bars, the sort, the chips (arrow keys move between chips), each review's photos, Show more, Helpful and Report; Space or Enter toggles a bar, a chip or Helpful and opens a photo; in the photo viewer Left and Right change the photo and Escape closes it; in the sort menu the arrow keys pick an order and Enter confirms. Every bar, chip and button has a 44px target on touch.

Add to a project

npx wingo-ui@latest add reviews

Pro item: the CLI needs a Pro account. See plans

Dependencies

lucide-reactmotionavatarbadgebuttoncollapsibleempty-statefavorite-buttonimage-lightboxnavigationpaginationprogressratingselectskeletontaguse-controllable-stateuse-localemotionnumber-formatrelative-timetonesui-config

Files

  • components/ui/reviews.tsx

See also

RatingFavorite buttonImage LightboxComment ThreadListing cardProduct gallery
PreviousQuantity stepperNext Seller card

Reviews

4.6
126 reviews

4.6 out of 5, 126 reviews

126 reviews

  • Julia DavisVerified purchase
    2 days ago
    Color: Mint green · Wheels: 26"

    Exactly what I wanted

    Fast delivery with UPS, and the bike arrived almost assembled. I only fitted the pedals and the handlebar, and 15 minutes later it was ready to ride. It rolls very smoothly, the brakes are good and the saddle stays comfortable on longer rides too.
  • Ryan MitchellVerified purchase
    5 days ago

    Good for the city

    Great value for money. The only downside: the shifter needed an adjustment after the first week. Otherwise I recommend it for short rides around town.

    Acme MarketSeller's reply· 4 days ago

    Thanks, Ryan! Shifter tune-ups are free for the first 6 months at any partner shop.

  • Maria TorresVerified purchase
    1 wk. ago

    The box arrived damaged

    The box arrived damaged and the rear fender was bent. The bike itself seems fine, but I expected better packaging.

    Acme MarketSeller's reply· 1 wk. ago

    We are sorry about that. We sent you a new part; it should arrive tomorrow with FedEx.

  • Lucas GrantVerified purchase
    7 hr. ago
    Great bike, I ride it to the office every day.
  • Daniel Parker
    2 wk. ago

    Fine, but it has its downsides

    I bought it for short trips to the market and back. On asphalt it rides well, it is light and easy to get on. On the downtown cobblestones you feel every stone though; the tires are a bit thin for that. The front brake started squeaking after about two weeks. I adjusted it myself with a tutorial, but I did not expect to need that so soon. I bought the front basket separately and it fit without any trouble. In short: a fair choice for the price, just do not expect a premium city bike.
  • Olivia StoneVerified purchase
    2 wk. ago

    A gift for my daughter

    It was the perfect birthday present. The color is even nicer than in the photos.
  • GS
    George StewartVerified purchase
    3 wk. ago
    Looks exactly like the photos. A front basket would have been a plus.
  • CM
    Christina Moore
    08/20/2026

    Late delivery

    I waited 9 days instead of 2. The bike is fine, but the communication left a lot to be desired.

    Acme MarketSeller's reply· 08/21/2026

    We apologize for the delay. We refunded the shipping cost and changed the courier for your area.

filter: {} · defaultSort: relevant