ComponentsServicesPopular Services

Services

Popular Services

A curated highlight list for promoted services where the builder selects exactly which services appear, in exact order, using selectedServiceIds. Best used as a featured row above a full Service List for a complete browse flow.

SelectionManual ID picker

selectedServiceIds is a comma-separated list and render order follows the selected order.

NavigationOptional detail screen

Set detailScreenId to navigate on tap and pass full service params to the target screen.

TierFree

Category Services • Component BuilderPopularServices • Registry key popular-services.

What it does

Four things worth knowing

Backend data source from AdminServiceManager

The component fetches services for the app from backend data managed in AdminServiceManager, then renders only IDs listed in selectedServiceIds.

Empty-selection behavior before and after fetch

If no selected IDs are set, builder placeholder cards are shown before fetch, then an empty state is shown after fetch.

Only five visibility toggles are exposed

Editor toggles are limited to showBadge, showRating, showDuration, showProvider, and showBorder.

Fixed presentation rules in component code

Subtitle and price are always on, image is always off, chevron shows only when detailScreenId exists, and icon/image sizing plus spacing are fixed.

Builder setup

Find it, drop it, choose services

Where to find itAdd it to any screen

  1. Component picker → ServicesPopular Services.
  2. Open property editor and choose services via selectedServiceIds.
  3. Best used above a full Service List for complete browsing.

Before you publishThree things to check

  1. Keep selection curated - usually 2–4 services performs best.
  2. Optionally set detailScreenId to a shared detail screen used by Service List.
  3. For screen-select fields, the Action tab screen list is folder-grouped and collapsed by default for faster scanning.
Category: ServicesComponent: BuilderPopularServicesRegistry key: popular-servicesTier: Free
Props

Selection and navigation

PropTypeDefaultDescription
selectedServiceIdspopular-service-selectComma-separated service IDs picked in the property editor; output keeps this exact order.
detailScreenIdscreen-selectOptional screen target when an item is tapped.
Toggles & colours

Make it yours

Popular Services exposes a focused set of visibility and style controls. Item sizing, spacing, and several visibility rules are intentionally fixed in code.

PropDefaultWhat it controls
showBadgetrueBadge visibility.
showRatingtrueRating visibility.
showDurationtrueDuration visibility.
showProvidertrueProvider label visibility.
showBordertrueCard border visibility.
backgroundColor#FFFFFFSection background colour.
cardBackgroundColor#FFFFFFCard background colour.
titleColor#1a1a1aService title colour.
subtitleColor#6B7280Service subtitle colour.
iconColor#FFFFFFIcon colour.
iconBackgroundColor#111827Icon container colour.
priceColor#111827Price text colour.
badgeColor#065F46Badge text colour.
badgeBackgroundColor#D1FAE5Badge background colour.
borderColor#E5E7EBCard border colour.
borderRadius12Card corner radius.
ratingColor#F59E0BRating icon/text colour.
durationColor#6B7280Duration label colour.
providerLabelColor#6B7280Provider label colour.
fontFamilySystemCard typography family.
titleFontSize16Title size.
subtitleFontSize14Subtitle size.
Tips

Common mistakes to avoid

Keep it curated, not a full catalog

This component is for promoted picks only. Keep selection small (usually 2–4) and place a full Service List below for browsing.

Reuse one detail screen

Use the same detailScreenId as Service List where possible so one detail screen can handle taps from both components.

No provider filtering prop here

Do not expect provider-scoped filtering in Popular Services - filterProviderEmail is not supported in this component.

Keep docs in sync when behavior changes

Update this page first, then update SERVICES_COMPONENTS.md and any website/docs mirrors.