"use client"; import { useEffect, useRef } from "react"; interface Week { week: string; expert?: string; title: string; body: string; vorlagen: string; result: string; } interface Module { label: string; headline: string; weeks: Week[]; } const MODULES: Module[] = [ { label: "Modul 1 — Wochen 1 & 2", headline: "Wunschkunde, Angebot, Positionierung", weeks: [ { week: "Woche 1", title: "Dein Wunschkunde + dein Markt", body: "Du schaust konkret hin: Wer ist dein Wunschkunde wirklich? Welches Problem hat er — und was hat er schon alles versucht? Was kostet ihn dieses Problem jeden Monat? Du machst einen ehrlichen Marketing-Audit: Was läuft, was nicht — und warum.", vorlagen: "Marketing-Audit-Vorlage · Wunschkunden-Persona-Vorlage", result: "Klarheit über deinen Wunschkunden — konkret, nicht allgemein.", }, { week: "Woche 2", title: "Dein unwiderstehliches Angebot + deine Positionierung", body: "Du legst dein Angebot auf den Tisch: Was bietest du genau an? Welches Problem löst du? Dann entwickelst du deine Positionierungsformel — für wen, welches Problem, was macht dich anders. In einem Satz. Du übst ihn live in der Gruppe.", vorlagen: "Positionierungsformel-Vorlage · Kurztext für Website, Instagram und LinkedIn", result: "Dein Angebot klar auf den Punkt — erklärt in einem Satz.", }, ], }, { label: "Modul 2 — Wochen 3 & 4", headline: "Dein System steht.", weeks: [ { week: "Woche 3", title: "Deine Verkaufsseite", body: "Du lernst wie eine Verkaufsseite aufgebaut sein muss — die 7 Pflicht-Elemente, ihre Reihenfolge, die Psychologie dahinter. Du bekommst die komplette Vorlage. Du setzt es direkt auf deiner Seite um — Katja gibt Feedback.", vorlagen: "Verkaufsseiten-Vorlage + alle Textelemente · 7-Elemente-Checkliste", result: "Vollständige Struktur für deine Verkaufsseite — fertig zum Umsetzen.", }, { week: "Woche 4", title: "Deine Kanal-Strategie + 90-Tage-Marketingplan", body: "Welche 2 Kanäle fokussierst du — auf Basis deiner Zielgruppe, nicht dem was gerade alle machen. Du baust deine Marketing-Systemkarte und startest deinen 90-Tage-Plan.", vorlagen: "Kanal-Entscheidungsmatrix · Marketing-Systemkarte · 90-Tage-Marketingplan", result: "Gewusst welche 2 Kanäle du fokussierst — und 90-Tage-Plan begonnen.", }, ], }, { label: "Modul 3 — Wochen 5–8", headline: "Sichtbarkeit. Anfragen. Und du weißt wie es weitergeht.", weeks: [ { week: "Woche 5", expert: "Can Turkdogan · Social Media", title: "Dein Content-System", body: "Deine 3–4 Content-Themen die zeigen wofür du stehst. Du erstellst live deinen 4-Wochen-Redaktionsplan, schreibst deinen ersten Hook und weißt ab dieser Woche genau: was du postest, wann, und warum.", vorlagen: "Content-Säulen-Template · 4-Wochen-Redaktionsplan · 10 bewährte Hook-Formeln", result: "Content-Plan für 4 Wochen — weißt genau was und wie du postest.", }, { week: "Woche 6", expert: "Stefan & Philipp · Onlinewerbevideo", title: "Social Media Verkauf + Video-Setup", body: "Du lernst wie du dein Angebot aktiv über Social Media verkaufst — mit Strategie, nicht mit Druck. Die Video-Experten zeigen live: professionelle Videos mit dem Handy.", vorlagen: "Launch-Checkliste · Equipment-Checkliste · Filming-Guide", result: "Plan für Social Media Verkauf + professionell auf Video.", }, { week: "Woche 7", expert: "Manuela Ludewig · Vertrieb", title: "Verkauf + Direktansprache", body: "Dein persönliches Verkaufsskript für die Direktansprache — angepasst auf deine Positionierung. Du übst es live in der Gruppe mit konkretem Plan für deine nächsten Kontakte.", vorlagen: "Persönliches Verkaufsskript · Follow-up-Template · Event-Recherche-Guide", result: "Dein Verkaufsskript für die Direktansprache — einmal geübt.", }, { week: "Woche 8", expert: "Katja Pestereva · Market Compass", title: "Sichtbarkeit auf Google + Abschluss", body: "Du optimierst dein Google Business Profil Schritt für Schritt in der Gruppe. Du bringst deine Website auf die Grundlagen die Google belohnt. Abschlussrunde: Was hat sich in 8 Wochen verändert?", vorlagen: "SEO-Checkliste · Keyword-Recherche-Vorlage · Website-Leitfaden", result: "Google Business vollständig optimiert + Seite für dein Haupt-Keyword.", }, ], }, ]; /* Running week counter so odd/even alternates across all modules */ let globalWeekIndex = 0; function WeekCard({ week, isLeft }: { week: Week; isLeft: boolean }) { const ref = useRef(null); useEffect(() => { const el = ref.current; if (!el) return; const obs = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { el.classList.add("tl-visible"); obs.disconnect(); } }, { threshold: 0.15 } ); obs.observe(el); return () => obs.disconnect(); }, []); return (
{/* Header */}
{week.week} {week.expert && ( {week.expert} )}
{/* Title */}

{week.title}

{/* Body */}

{week.body}

{/* Vorlagen */}

📋 {week.vorlagen}

{/* Result */}

✓ {week.result}

); } export default function WeekTimeline() { /* Reset global counter each render (SSR-safe: only matters client-side) */ globalWeekIndex = 0; return (
{/* Section header */}
8 Wochen · Schritt für Schritt

Dein Programm — Woche für Woche

Jede Woche baut auf der nächsten auf. Am Ende hast du kein Zertifikat — sondern ein fertiges System.

{MODULES.map((mod) => (
{/* Module divider */} {/* Weeks */}
{/* Vertical timeline line */}
{mod.weeks.map((week) => { const isLeft = globalWeekIndex % 2 === 0; globalWeekIndex++; return (
{/* Timeline dot — centered */}
{week.week.replace("Woche ", "")}
); })}
))}
); } function ModuleDivider({ label, headline }: { label: string; headline: string }) { const ref = useRef(null); useEffect(() => { const el = ref.current; if (!el) return; const obs = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { el.classList.add("tl-visible"); obs.disconnect(); } }, { threshold: 0.2 } ); obs.observe(el); return () => obs.disconnect(); }, []); return (
{label}

{headline}

); }