9:41
9:41
Deliver to
Home — 123 Main Rd
🚚
Next available
Today, 2-3 PM
Change
Categories See All
🍎
Fruit
🥬
Vegetables
🥛
Dairy
🍞
Bakery
🥩
Meat
🧃
Beverages
🧹
Household
🧴
Personal Care
Quick Shops See All
🔥
Braai Essentials
8 items
🥞
Breakfast Bundle
10 items
🍱
Lunch Box
12 items
On Special See All
SAVE R7
Clover
Full Cream Milk 2L
R 32.99 R 39.99
Albany
Brown Bread
R 18.49
SAVE R7
Farmer's Choice
Free Range Eggs 6pk
R 42.99 R 49.99
Lancewood
Cheddar Cheese 400g
R 64.99
Popular Right Now See All
3 3 items
View Cart — R 94.47

Screen Annotations — CON-030 Home (Main)

Screen ID: CON-030
Flow: Home → Main Dashboard
Previous: CON-010 Login / CON-020 Address Setup
Next: Various (Search, Product, Cart, etc.)
Header (app-header--home): Dark green (#043F2D) header with two rows. Top row has address selector (tappable, opens address picker) and notification bell with red unread indicator dot. Second row is a search bar that navigates to the search screen on tap.
Delivery Slot Banner: Tappable card showing next available delivery slot. Tapping opens the delivery slot picker (CON-032). Displays truck icon, time slot, and "Change" action link.
Promo Carousel: Horizontally swipeable promo banners with CSS scroll-snap. Slider dots below indicate position. Each banner is tappable and navigates to promotion detail (CON-033).
Categories: Horizontally scrollable row of 8 category icons. Each taps through to a filtered product listing. Icons use emoji placeholders (replace with designed assets in production).
Quick Shops: Curated bundles/collections. Horizontal scroll with cards showing image, title, and item count. "See All" navigates to CON-034. Individual cards navigate to CON-035 collection detail.
On Special (Product Grid): 2x2 product grid using shared .product-card component. Products with discounts show a SAVE badge and struck-through original price. "+ Add" button adds item to cart (replaces with qty stepper when in cart).
Popular Right Now: Horizontally scrollable product row showing trending items. Uses same .product-card component in a narrower (150px) format.
Floating Cart Bar: Fixed at bottom above nav. Shows item count (with accent badge), text summary, and total. Tapping navigates to cart (CON-060). Only visible when cart has items.
States: Toggle between "populated" (full content) and "loading" (skeleton placeholders) using the state bar. The loading state matches the skeleton screen (CON-031).
Bottom Navigation: 4 tabs — Home (active), Discover, My Shop, Profile. Active tab determined by data-active-nav="home" on body.
Currency: South African Rand, formatted as "R XX.XX" with space after R. Thousands separator is comma (e.g., R 1,234.00).