Skip to content

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" (#000000 base, #0a192f accents). 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 (snapToInterval or decelerationRate="fast" in FlatList) so they feel weighty, not slippery.

Requirements

  1. Component: DiscoverTabView acting as the main scrollable catalog.
  2. 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.
  3. Haptic Feedback:
    • Every horizontal swipe snap must trigger expo-haptics impactAsync(ImpactFeedbackStyle.Light).
    • Tapping an item triggers ImpactFeedbackStyle.Medium.
  4. Transitions:
    • Use react-native-reanimated Shared Element Transitions when a user taps a Spread or a Card to transition them seamlessly into the detail screen.

Implementation Guidance

  • Use React Native's FlatList or FlashList for 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).

Internal documentation for MysticX team