6.7 KiB
6.7 KiB
Gradient Border System with Mouse-Tracking Glow
🌈 Overview
TCG Vault now features stunning gradient borders that replace the old solid borders with dynamic, multi-colored gradients that respond to mouse movement with localized glow effects.
✨ Gradient Border Features
Multi-Layer Gradient Design
- Dual-background technique: Uses CSS
padding-boxandborder-boxto create clean content areas with gradient borders - Progressive intensity: Higher rarity cards get more complex, multi-stop gradients
- Color harmony: Each rarity uses a carefully crafted color palette that transitions smoothly
Rarity-Specific Gradients
| Rarity | Gradient Colors | Effect Intensity |
|---|---|---|
| Common | Gray (#6B7280 → #9CA3AF → #6B7280) |
Subtle 2-stop gradient |
| Uncommon | Green (#22C55E → #4ADE80 → #22C55E) |
Medium 2-stop gradient |
| Rare | Blue (#3B82F6 → #6366F1 → #3B82F6) |
Bright 2-stop gradient |
| Super Rare | Purple (#9333EA → #A855F7 → #C4B5FD → #A855F7 → #9333EA) |
Complex 5-stop gradient |
| Legendary | Gold (#F59E0B → #FBBF24 → #FEF08A → #FBBF24 → #F59E0B) |
Intense 5-stop gradient |
| Mythic | Red (#EF4444 → #F87171 → #FECACA → #F87171 → #EF4444) |
Maximum 5-stop gradient |
🎯 Mouse-Tracking Glow System
Dynamic Glow Effect
- Real-time tracking: Mouse position is tracked at 60fps with throttling for performance
- Radial glow: 150px radius circular glow that follows the cursor within card boundaries
- Progressive opacity: Glow fades from center to edges with multiple intensity stops
- Blur enhancement: 2px blur filter creates a soft, professional glow effect
Technical Implementation
Custom Hook: useMouseGlow
const { ref, glowStyles, isHovering } = useMouseGlow({
glowIntensity: 0.8, // Brightness of the glow (0-1)
glowRadius: 150, // Size of the glow circle in pixels
updateThrottle: 16 // Update frequency (~60fps)
});
CSS Custom Properties
--glow-x: 50%; /* Horizontal glow position */
--glow-y: 50%; /* Vertical glow position */
--glow-intensity: 0.8; /* Glow brightness */
--rarity-shadow-color: rgba(...); /* Rarity-specific shadow color */
🎨 Visual Enhancement Effects
Hover Animations
- Scale transform: Cards scale up 2-3% on hover based on rarity
- Brightness filter: Enhanced brightness (1.1× - 1.2×) for premium feel
- Saturation boost: Higher rarity cards get increased color saturation
- Pulse animation: Super Rare+ cards get a breathing glow effect
Performance Optimizations
- Hardware acceleration: Uses
transform3d()andwill-change - Throttled updates: Mouse tracking limited to 60fps
- Event cleanup: Proper cleanup on component unmount
- CSS-only animations: Smooth 60fps animations without JavaScript
🛠️ Component Architecture
GlowingCard Component
<GlowingCard rarity={card.rarity} className="card-container">
{/* Card content */}
</GlowingCard>
Features:
- Automatic rarity detection and intensity adjustment
- Built-in mouse tracking and glow effects
- Seamless integration with existing card components
- Responsive glow radius and intensity
Rarity-Specific Intensities
- Common: 0.4 intensity - Subtle glow
- Uncommon: 0.5 intensity - Light glow
- Rare: 0.6 intensity - Medium glow
- Super Rare: 0.7 intensity - Strong glow
- Legendary: 0.8 intensity - Intense glow
- Mythic: 0.8 intensity - Maximum glow
💫 Advanced Effects
Pulse Animation for Premium Cards
Super Rare, Legendary, and Mythic cards feature a continuous pulse animation:
- Shadow expansion: Box shadow grows and contracts rhythmically
- 2-second cycle: Smooth, non-intrusive breathing effect
- Rarity-specific colors: Each rarity pulses with its signature color
- Hover enhancement: Pulse becomes more pronounced on hover
Multi-Layer Shadow System
box-shadow:
0 0 30px var(--rarity-shadow-color), /* Inner glow */
0 0 60px var(--rarity-shadow-color); /* Outer glow */
🎮 Interactive Behavior
Mouse Enter/Leave
- Mouse Enter: Glow effect activates and begins tracking cursor
- Mouse Move: Glow position updates in real-time following cursor
- Mouse Leave: Glow fades out and resets to center position
Smooth Transitions
- 0.2s opacity transitions: Glow fades in/out smoothly
- 0.3s transform transitions: Hover scaling with easing
- Continuous tracking: No lag between mouse movement and glow position
📱 Responsive Design
Screen Size Adaptations
- Desktop: Full 150px glow radius with maximum intensity
- Tablet: Scaled glow effects for touch interaction
- Mobile: Reduced complexity while maintaining visual appeal
Performance Considerations
- Reduced motion support: Respects
prefers-reduced-motionsettings - Battery optimization: Effects pause when not visible
- GPU acceleration: Smooth 60fps on all supported devices
🎯 Integration Examples
Card View Mode
// Large cards with prominent gradient borders and mouse tracking
<GlowingCard rarity="Legendary" className="card-large">
<CardImageDisplay card={card} size="large" />
{/* Card content */}
</GlowingCard>
Table View Mode
// Table rows with subtle left-border gradient accents
<tr style={{borderLeftColor: getRarityColor(card.rarity)}}>
{/* Table content */}
</tr>
🚀 Future Enhancements
Planned Features
- Gesture support: Touch-based glow interactions for mobile
- Particle effects: Floating sparkles for Mythic+ cards
- Color animation: Shifting gradient hues over time
- 3D depth: Layered glow effects with perspective
Performance Improvements
- WebGL acceleration: GPU-based glow rendering
- Intersection observer: Only animate visible cards
- Worker threads: Offload calculations from main thread
🎨 Design Philosophy
Visual Hierarchy: Gradient intensity reflects card rarity and importance
Performance First: All effects maintain 60fps with hardware acceleration
Accessibility Aware: Respects motion preferences and maintains readability
Progressive Enhancement: Works gracefully across all device capabilities
This gradient border system elevates the visual experience while maintaining the clean, professional aesthetic that makes TCG Vault feel premium and modern! ✨🌈🎮