// home.jsx — Start page function Hero() { const phone = t("contactData.phone"); return (
{t("home.heroEyebrow")}

{t("home.heroTitle1")} {t("home.heroTitleAccent")}

{t("home.heroLead")}

{[t("badge.dgaez"), t("badge.fit")].map((b, i) => ( {b} ))}
Team Bade Zahntechnik
); } function TeaserSection({ id, bg, children }) { return
{children}
; } // Case progression carousel — cross-fades through the uploaded case photos in // order, with a step badge, caption and thumbnail navigation. Gentle autoplay, // pauses on hover. function CaseCarousel() { const slides = t("casesSlides"); const [idx, setIdx] = useState(0); const [paused, setPaused] = useState(false); const n = slides.length; const go = (i) => setIdx((i + n) % n); useEffect(() => { if (paused) return; const id = setInterval(() => setIdx((p) => (p + 1) % n), 5500); return () => clearInterval(id); }, [paused, n]); return (
setPaused(true)} onMouseLeave={() => setPaused(false)}>
{slides.map((s, i) => ( {s.step} ))} {/* Step badge */} {slides[idx].n} {slides[idx].step} {/* Arrows */} {["left", "right"].map((dir) => ( ))}
{/* Caption */}

{slides[idx].caption}

{/* Thumbnails */}
{slides.map((s, i) => ( ))}
); } function App() { return (
{/* Cooperation USP */}

{t("home.coopText")}

KeyProtokoll
{t("coopSteps").map((s, i) => (
{s.n}
{s.t}
{s.d}
))}
{/* Team teaser */}
Team

{t("home.teamText")}

); } ReactDOM.createRoot(document.getElementById("root")).render();