"use client"; import { motion, useReducedMotion, type Variants } from "motion/react"; import { Container, LinkButton } from "@/components/ui"; import { ContentImage } from "@/components/content-image"; import { useI18n } from "@/i18n/i18n-provider"; const sectionVariants: Variants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { duration: 0.6 } }, }; const itemContainerVariants: Variants = { hidden: {}, visible: { transition: { delayChildren: 0.3, staggerChildren: 0.12 } }, }; const itemVariants: Variants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 0.7, ease: "easeOut" } }, }; /** * Startseiten-Hero mit grossflaechigem Bild und gestaffelter * Einblend-Animation (Eyebrow, Headline, Text, Buttons) beim Laden. */ export function Hero({ intro, footnote, location, image, video, }: { intro: string; footnote: string; location: string; image: string | null; video: string | null; }) { const { t } = useI18n(); const shouldReduceMotion = useReducedMotion(); return ( {video ? (
) : ( )}
{location} {t.footer.tagline} {intro} {t.home.hero.ctaPrimary} {t.home.hero.ctaSecondary} {footnote}
); }