Prompt 01: Discover Tab (Spreads, Cards & Reader Marketplace)
Goal
Build the Discover screen, the central hub for browsing Tarot Spreads, Major/Minor Arcana catalogs, Tarot Readers, and Card Skins.
Design Constraints (From Master Guide)
- Visuals: "OLED Noir" (
#000000base,#0a192faccents). Use "Ethereal Glaze" (frosted glass) for sticky headers or bottom tabs. - Typography: Dual-typography system. Use Playfair Display for section headers ("Featured Spreads", "Readers") and Inter for spread names and utility text.
- Pacing: "Slow UI" philosophy. Horizontal scrolling lists should use heavy friction/deceleration (
snapToIntervalordecelerationRate="fast"in FlatList) so they feel weighty, not slippery.
Requirements
- Component:
DiscoverTabViewacting as the main scrollable catalog. - Sections (Vertical Scroll with Horizontal Rows):
- Featured Spreads: Horizontal cards displaying spread layouts (e.g., Celtic Cross, Past/Present/Future). Implement a gentle parallax effect on the background of the spread cards.
- Tarot Cards Explorer: A visually rich horizontal list of cards. Use a subtle inner glow on these cards.
- Tarot Readers: Circular avatars with a glowing "aura" border (
Antique Gold #c5a059). - Card Skins: Rectangular cards showcasing premium designs.
- Haptic Feedback:
- Every horizontal swipe snap must trigger
expo-hapticsimpactAsync(ImpactFeedbackStyle.Light). - Tapping an item triggers
ImpactFeedbackStyle.Medium.
- Every horizontal swipe snap must trigger
- Transitions:
- Use
react-native-reanimatedShared Element Transitions when a user taps a Spread or a Card to transition them seamlessly into the detail screen.
- Use
Implementation Guidance
- Use React Native's
FlatListorFlashListfor the horizontal carousels for memory efficiency. - Pre-load assets for the featured items to prevent blank squares during initial render.
- Ensure the header blurs the content as it scrolls underneath (
expo-blur).