ProjectR Docs
Screen MapMobile app

Home

Mobile app: every screen, state and flow in Home.

1 screens and overlays, 20 states, 0 flows. Frames show a real screenshot where one was captured and a wireframe card where the state needs data or conditions a device run cannot produce.

Screens and states

Home

Home (iOS)Home (Android)
Screen(app)/(tabs)/home

Home

Landing tab with banner carousel, quiz card, recently viewed and category grid

src/app/(app)/(tabs)/home/index.tsx

Entry

  • Tab bar
  • App launch default
  • Order confirmation Continue Shopping
  • Search Cancel

Exits

  • Search pill → /(public)/search
  • Banner tap → product, list, campaign, loyalty or browser
  • Quiz card Start → beauty quiz
  • Recently viewed card → product page
  • Category card → Shop tab with category applied

States · 20

Error
Whole tab crash · Render error caught by TabErrorBoundary for Homesrc/app/(app)/(tabs)/home/index.tsx:33
Loading
Banner skeleton · Carousel items query still undefinedsrc/features/home/hooks/use-home-page-data.ts:61
Empty
No banners available · Query returned zero active banners; hardcoded English line in a 200 px boxsrc/app/(app)/(tabs)/home/index.tsx:70
Edge
Single banner · One item disables loop, autoplay and overscrollsrc/features/home/components/carousel/carousel.tsx:124
Edge
Video banner decode failure · Video fails; only sent to Sentry, poster stays with no UIsrc/features/home/components/carousel/carousel-card.tsx:153
Edge
Banner overlay text optional · Subtitle and action text only render when setsrc/features/home/components/carousel/carousel-card.tsx:91
Edge
Beauty quiz card visibility · Shown only signed in, quiz not completed and not dismissed on this devicesrc/features/home/components/beauty-quiz-card.tsx:47
Loading
Recently viewed skeleton · Four skeleton cards while history loadssrc/features/home/components/recently-viewed-section.tsx:96
Empty
Recently viewed hidden · Not loading and no items; rail is removedsrc/features/home/components/recently-viewed-section.tsx:124
Edge
Recently viewed local fallback · Signed in with empty backend list reads on-device history; guests use it onlysrc/features/home/components/recently-viewed-section.tsx:81
Loading
Category grid skeleton · Four skeleton cards while collections undefinedsrc/features/home/components/category-list-section.tsx:77
Empty
Category section hidden · Collections query returned nonesrc/features/home/components/category-list-section.tsx:72
Edge
Category without image · Collection has no imageUrl; logo placeholder shownsrc/features/home/components/category-list-section.tsx:136
Edge
Bell badge and QR button · Unread badge only signed in; QR only while a Duit Raya campaign has codes leftsrc/features/home/components/home-app-bar.tsx:35
Gate
Signed out · Quiz card hidden, unread zero, recently viewed from device onlysrc/features/home/components/beauty-quiz-card.tsx:47
Offline
Offline skeletons persist · No offline state or timeout; skeletons stay indefinitelyunverified
Edge
Banner invalid product id · Product-detail banner with bad id does nothing, silentlysrc/features/home/components/carousel/carousel.tsx:57
Edge
Banner unknown type · Unknown navigation type logs an error and does nothingsrc/features/home/components/carousel/carousel.tsx:104
Edge
Banner list with blank title · Empty banner title makes the list screen show "Products"src/shared/utils/navigation.ts:113
Edge
Notification ask · About 1.5 s after Home settles, a signed-in ready account with no registered token and no earlier dismissal gets the notification permission modal over Home. Leaving Home first cancels itsrc/features/notifications/hooks/use-offer-notifications-on-home.ts:10

Captured states

Home, Signed out (iOS)Home, Signed out (Android)
Signed out
Home, Notification ask (Android)
Notification ask

On this page