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
Screen
(app)/(tabs)/homeHome
Landing tab with banner carousel, quiz card, recently viewed and category grid
src/app/(app)/(tabs)/home/index.tsxEntry
- 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 Home
src/app/(app)/(tabs)/home/index.tsx:33Loading
Banner skeleton · Carousel items query still undefined
src/features/home/hooks/use-home-page-data.ts:61Empty
No banners available · Query returned zero active banners; hardcoded English line in a 200 px box
src/app/(app)/(tabs)/home/index.tsx:70Edge
Single banner · One item disables loop, autoplay and overscroll
src/features/home/components/carousel/carousel.tsx:124Edge
Video banner decode failure · Video fails; only sent to Sentry, poster stays with no UI
src/features/home/components/carousel/carousel-card.tsx:153Edge
Banner overlay text optional · Subtitle and action text only render when set
src/features/home/components/carousel/carousel-card.tsx:91Edge
Beauty quiz card visibility · Shown only signed in, quiz not completed and not dismissed on this device
src/features/home/components/beauty-quiz-card.tsx:47Loading
Recently viewed skeleton · Four skeleton cards while history loads
src/features/home/components/recently-viewed-section.tsx:96Empty
Recently viewed hidden · Not loading and no items; rail is removed
src/features/home/components/recently-viewed-section.tsx:124Edge
Recently viewed local fallback · Signed in with empty backend list reads on-device history; guests use it only
src/features/home/components/recently-viewed-section.tsx:81Loading
Category grid skeleton · Four skeleton cards while collections undefined
src/features/home/components/category-list-section.tsx:77Empty
Category section hidden · Collections query returned none
src/features/home/components/category-list-section.tsx:72Edge
Category without image · Collection has no imageUrl; logo placeholder shown
src/features/home/components/category-list-section.tsx:136Edge
Bell badge and QR button · Unread badge only signed in; QR only while a Duit Raya campaign has codes left
src/features/home/components/home-app-bar.tsx:35Gate
Signed out · Quiz card hidden, unread zero, recently viewed from device only
src/features/home/components/beauty-quiz-card.tsx:47Offline
Offline skeletons persist · No offline state or timeout; skeletons stay indefinitely
unverifiedEdge
Banner invalid product id · Product-detail banner with bad id does nothing, silently
src/features/home/components/carousel/carousel.tsx:57Edge
Banner unknown type · Unknown navigation type logs an error and does nothing
src/features/home/components/carousel/carousel.tsx:104Edge
Banner list with blank title · Empty banner title makes the list screen show "Products"
src/shared/utils/navigation.ts:113Edge
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 it
src/features/notifications/hooks/use-offer-notifications-on-home.ts:10



