Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/fortune-seeker/llms.txt
Use this file to discover all available pages before exploring further.
TarotCard is the centerpiece interactive element of Fortune Seeker. It renders a 16rem × 24rem playing-card-sized tile that flips in 3D to reveal custom content. The component appears on the Projects (Major Arcana) page, the Skills (Cast Spells) page, and anywhere the portfolio showcases a discrete piece of work or information. Each card enters the viewport with a staggered fade-and-rise animation, then hovers with a subtle lift, and flips with spring-physics rotation when clicked.
Props
The content displayed on the revealed face of the card — the side shown after the card flips. Despite the name, this is the information side (project title, description, links, etc.), not the decorative back design.
Reserved for future use in the current implementation. The decorative obsidian-and-gold mandala face is hard-coded as the unflipped side; this prop slot exists for extensibility.
Controls the flip state externally. When provided, the component operates in controlled mode and will not manage its own internal state. When omitted (
undefined), the component is uncontrolled and toggles its own flip state on each click.Optional callback fired when the card is clicked. In uncontrolled mode this fires after the internal state toggle. In controlled mode, use this handler to update
isFlipped in the parent.Additional Tailwind utility classes appended to the card’s root element. Defaults to an empty string.
Seconds of delay before the card’s entrance animation begins. Useful for staggering a grid of cards. Defaults to
0.Usage Example
Behavior & Animation
Entrance
When aTarotCard mounts, Framer Motion animates it from opacity: 0, y: 50 to opacity: 1, y: 0 over 0.8s with an easeOut curve. The delay prop offsets this transition so multiple cards can cascade into view one after another.
Hover
While the cursor is over the card,whileHover scales the card to 1.05 and lifts it by 10px upward (translateY: -10). A gold gradient sweep — a diagonal shine — also becomes visible, sliding from left to right over 1.5s as a shimmer effect.
Flip
Clicking the card triggers arotateY animation on the inner container:
- Unflipped:
rotateY: 0— shows the decorative obsidian face with a gold SVG mandala (two concentric circles, a diamond, crossing diagonal lines, and a filled center dot). - Flipped:
rotateY: 180— reveals thefrontContentface, styled with a gradient frommidnighttoobsidianand a brighter gold border. A brief white shimmer sweeps across on flip completion.
backface-hidden to prevent bleed-through. The flip uses spring physics with stiffness: 60 and damping: 15, producing a satisfying, slightly elastic rotation over approximately 0.8s.
The inner container uses the CSS
preserve-3d transform style. Ensure the parent context does not apply overflow: hidden or a CSS transform that would flatten the 3D perspective — either will cause the flip to appear as a 2D scale instead of a true rotation.