'use client'
import React, { useEffect, useMemo, useState } from "react"
import { motion } from "framer-motion"
import { Check, Star, BadgeCheck, Sparkles, Play, Mail, Phone, Calendar, Building2, ShieldCheck, Clock4, Users2, Zap, Award, Heart } from "lucide-react"
import Image from 'next/image'
import {
FadeUp,
StaggerContainer,
StaggerItem,
ScaleIn,
SlideInLeft,
SlideInRight,
HoverCard,
MagneticButton,
CountUp,
ParallaxElement
} from '@/components/ScrollAnimations'
import { AnimatedFAQ } from '@/components/AnimatedFAQ'
import { VideoPlayer } from '@/components/VideoPlayer'
// ---- Main Component ----
export default function MagicianLandingPage() {
const [active, setActive] = useState("home")
// Simple scroll function
const scrollToSection = (sectionId: string) => {
console.log('Scrolling to:', sectionId) // Debug log
const element = document.getElementById(sectionId)
if (element) {
const headerOffset = 100
const elementPosition = element.getBoundingClientRect().top
const offsetPosition = elementPosition + window.pageYOffset - headerOffset
window.scrollTo({
top: offsetPosition,
behavior: 'smooth'
})
} else {
console.log('Element not found:', sectionId) // Debug log
}
}
// Observe sections to highlight active link
useEffect(() => {
const ids = ["home", "proof", "showreel", "acts", "usecases", "testimonials", "about", "faq", "contact"]
const obs = new IntersectionObserver(
(entries) => {
const visible = entries
.filter((e) => e.isIntersecting)
.sort((a, b) => b.intersectionRatio - a.intersectionRatio)[0]
if (visible) setActive(visible.target.id)
},
{ rootMargin: "-50% 0px -45% 0px", threshold: [0.15, 0.35, 0.6] }
)
ids.forEach((id) => {
const el = document.getElementById(id)
if (el) obs.observe(el)
})
return () => obs.disconnect()
}, [])
// Data
const proof = useMemo(
() => ({
rating: 5,
reviews: 12,
bookings: 20,
travel: ">1000 km",
logos: ["SAT.1", "WDR", "ZDF", "Amazon Prime Video"],
clients: [
"Mercedes-Benz AG",
"Materna TMT",
"VIVA Cruises",
"AMADA",
"IHK",
"Lexus",
],
}),
[]
)
const acts = [
{
title: "Close-up Magic (Walking)",
desc: "Hautnah am Tisch – perfekter Eisbrecher & Gesprächszünder für Empfänge und Dinner.",
points: ["Interaktiv mit Gästen", "Flexibel zwischen den Gängen", "Keine Technik nötig"],
icon: ,
gradient: "from-blue-500/20 to-purple-500/20"
},
{
title: "Bühnenshow",
desc: "Humorvoll, modern und gemeinschaftsstiftend – ideal für Kickoffs, Galas & Weihnachtsfeiern.",
points: ["20–40 Minuten", "Publikumsbeteiligung", "Skalierbar für kleine & große Bühnen"],
icon: ,
gradient: "from-yellow-500/20 to-orange-500/20"
},
{
title: "Taschendieb-Act",
desc: "Respektvoll, sicher und spektakulär: scheinbarer Diebstahl von Uhr, Krawatte oder Handy – mit Lerneffekt.",
points: ["Publikum lacht & lernt", "Immer mit Einverständnis", "Sofortige Wow-Momente"],
icon: ,
gradient: "from-green-500/20 to-emerald-500/20"
},
{
title: "Signature: Gabelbiegen",
desc: "Metall wird zur Erinnerung – bleibende Souvenirs für Ihre Gäste.",
points: ["Starkes visuelles Finale", "Mitnahme-Souvenir", "Perfekt für Fotos"],
icon: ,
gradient: "from-pink-500/20 to-rose-500/20"
},
]
const testimonials = [
{
name: "Corporate Event",
quote: "Perfekter Eisbrecher, professionell und absolut verblüffend – unsere Gäste sprechen heute noch davon.",
avatar: "🏢"
},
{
name: "Hochzeit",
quote: "Familienfreundlich, charmant und mega eindrucksvoll. Die Fotos vom Gabelbiegen lieben wir!",
avatar: "💒"
},
{
name: "Weihnachtsfeier",
quote: "Zero Cringe, 100% Wow. Super zuverlässig, großartige Kommunikation und pünktlich auf die Minute.",
avatar: "🎄"
},
]
const faqs = [
{
q: "Welche Programmlängen sind möglich?",
a: "Close-up 60–90 Minuten (walking/tischweise) je nach Gästezahl; Bühne 20–40 Minuten – wir planen es passend zur Agenda.",
},
{ q: "Welche Technik wird benötigt?", a: "Close-up: keine. Bühne: Licht/PA nach Raumgröße – kann organisiert werden." },
{ q: "Wo trittst du auf?", a: "NRW, deutschlandweit und international – Reise >1000 km möglich." },
{ q: "Ist der Taschendieb-Act sicher?", a: "Ja – immer respektvoll, nur mit Einverständnis, haftpflichtversichert." },
]
return (
{/* NAVBAR */}
{/* HERO */}
Premium • Modern • Live
Moderne Magie, die Menschen verbindet.
Bekannt aus {proof.logos.join(" • ")}. ★ bewertet, + erfolgreiche Buchungen. Europaweit im Einsatz.
{proof.clients.map((c) => (
{c}
))}
Michael Peskov gehört zu den jüngsten professionellen Magiern Deutschlands. Seine Auftritte verbinden modernes
Entertainment mit interaktiver Zauberei und einem einzigartigen Taschendieb-Act – immer respektvoll und sicher.
Er ist europaweit im Einsatz ({proof.travel}) und wurde u. a. bei {proof.logos.join(", ")} gezeigt.