/** * StickyBar.jsx - Sticky call-to-action bar * * Fixed aan onderkant (mobile) of bovenkant (desktop). * Compacte info: prijs + datum + CTA. * Verschijnt na scroll voorbij hero sectie. */ import { useState, useEffect } from 'react'; function StickyBar() { // State om te bepalen of de bar zichtbaar moet zijn const [isVisible, setIsVisible] = useState(false); // Effect om scroll positie te monitoren useEffect(() => { const handleScroll = () => { // Toon de bar na 600px scroll (ongeveer voorbij de hero) const scrollThreshold = 600; setIsVisible(window.scrollY > scrollThreshold); }; // Event listener toevoegen window.addEventListener('scroll', handleScroll); // Cleanup bij unmount return () => window.removeEventListener('scroll', handleScroll); }, []); // Als niet zichtbaar, render niets if (!isVisible) return null; return ( <> {/* Desktop versie - bovenkant */}
{/* Left: Info */}
Claude Code Workshop
6 maart 2026 Utrecht
{/* Right: Price + CTA */}
€399 Inschrijven
{/* Mobile versie - onderkant */}
{/* Left: Prijs en datum */}
€399
6 maart 2026 | Utrecht
{/* Right: CTA */} Inschrijven
{/* Spacer voor mobile om content niet te verbergen achter sticky bar */}