'use client' import { useEffect, useRef } from 'react' import { gsap } from 'gsap' import { ScrollTrigger } from 'gsap/ScrollTrigger' import Image from 'next/image' if (typeof window !== 'undefined') { gsap.registerPlugin(ScrollTrigger) } export default function VideoShowcase() { const containerRef = useRef(null) const videoRef = useRef(null) const overlayRef = useRef(null) useEffect(() => { const container = containerRef.current const video = videoRef.current const overlay = overlayRef.current if (!container || !video || !overlay) return // Check for reduced motion const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches const ctx = gsap.context(() => { if (prefersReducedMotion) { // Simple fade for reduced motion gsap.from(video, { opacity: 0, scale: 0.9, duration: 1, scrollTrigger: { trigger: container, start: 'top 60%', toggleActions: 'play none none reverse' } }) } else { // Video scale animation on scroll gsap.fromTo(video, { scale: 0.8, borderRadius: '2rem' }, { scale: 1, borderRadius: '1rem', duration: 1, ease: 'power2.out', scrollTrigger: { trigger: container, start: 'top 70%', end: 'center center', scrub: 1 } } ) // Parallax effect on video gsap.to(video, { yPercent: -20, ease: 'none', scrollTrigger: { trigger: container, start: 'top bottom', end: 'bottom top', scrub: true } }) // Overlay fade out on scroll gsap.to(overlay, { opacity: 0, duration: 0.5, scrollTrigger: { trigger: container, start: 'top 50%', toggleActions: 'play none none reverse' } }) } }, container) return () => ctx.revert() }, []) const handlePlayClick = () => { // Replace with actual video player logic console.log('Play video') } return (

See the Magic

Watch Michael Peskov in action as he creates moments of wonder and amazement.

Michael Peskov showreel preview {/* Video overlay */}
{/* Gradient overlay */}
{/* Video info */}

As seen on SAT.1, WDR, ZDF & Amazon Prime Video

) }