/* Powermieter Landingpage — Sections B: Form · Timeline · App · FAQ · Final · Footer */ const { useState: useSB, useEffect: useEB, useRef: useRB } = React; /* ============== SEKTION 5 — INTERESSE / REGISTRIERUNG ============== */ function InterestSection({ onContinue }) { const [f, setF] = useSB({ vorname: '', nachname: '', email: '', telefon: '', aufgang: '', etage: '', whg: '', consent: false }); const [err, setErr] = useSB({}); const [done, setDone] = useSB(false); const set = (k, v) => setF(s => ({ ...s, [k]: v })); const submit = () => { const e = {}; if (!f.vorname.trim()) e.vorname = 'Bitte Vornamen eingeben'; if (!f.nachname.trim()) e.nachname = 'Bitte Nachnamen eingeben'; if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(f.email)) e.email = 'Bitte gültige E-Mail eingeben'; if (!f.consent) e.consent = 'Bitte bestätigen Sie Ihr Interesse.'; setErr(e); if (Object.keys(e).length) return; setDone(true); }; return (
Interesse anmelden

In wenigen Minuten dabei

Melden Sie zunächst nur Ihr Interesse an. Noch kein Vertragsabschluss — wir bereiten alles vor und führen Sie Schritt für Schritt durch die nächsten Etappen.

Unverbindlich & kostenlos

Es entstehen keine Kosten und keine Verpflichtung.

Datenschutz garantiert

Ihre Angaben werden verschlüsselt übertragen und DSGVO-konform verarbeitet.

In 2 Minuten erledigt

Wenige Angaben genügen — den Rest klären wir gemeinsam.

{!done ? ( <>
Vorausgefüllt für Ihr Gebäude: Musterstraße 12, 10115 Berlin
set('vorname', e.target.value)} /> set('nachname', e.target.value)} />
set('email', e.target.value)} /> set('telefon', e.target.value)} />
set('aufgang', e.target.value)} /> set('etage', e.target.value)} /> set('whg', e.target.value)} />
{err.consent && {err.consent}}
Verschlüsselt übertragen
) : (

Danke, {f.vorname || 'alles klar'}!

Wir haben Ihr Interesse erhalten. Im nächsten Schritt können Sie Ihre Daten vervollständigen und den Vertrag in Ruhe vorbereiten lassen — alles digital, jederzeit unterbrechbar.

)}
); } /* ============== SEKTION 6 — AKTIVIERUNGS-TIMELINE ============== */ function TimelineSection() { const ref = useRB(null); const dotRefs = useRB([]); const fillRef = useRB(null); const [active, setActive] = useSB(-1); useEB(() => { let raf = 0; const onScroll = () => { raf = 0; const mid = window.innerHeight * 0.62; let last = -1; dotRefs.current.forEach((d, i) => { if (d && d.getBoundingClientRect().top < mid) last = i; }); setActive(last); if (fillRef.current && ref.current) { const lineTop = ref.current.getBoundingClientRect().top; const d = dotRefs.current[last]; if (d) { const r = d.getBoundingClientRect(); fillRef.current.style.height = Math.max(0, (r.top + r.height / 2) - (lineTop + 14)) + 'px'; } else fillRef.current.style.height = '0px'; } }; const h = () => { if (!raf) raf = requestAnimationFrame(onScroll); }; window.addEventListener('scroll', h, { passive: true }); window.addEventListener('resize', h); onScroll(); return () => { window.removeEventListener('scroll', h); window.removeEventListener('resize', h); cancelAnimationFrame(raf); }; }, []); return (
Vom Interesse bis zur Aktivierung

Klar geführt — Schritt für Schritt

Sie behalten in jeder Phase den Überblick. Verbindlich wird es erst mit Ihrer digitalen Bestätigung.

{LP_TIMELINE.map((s, i) => { const Ic = I[s.ic]; return (
dotRefs.current[i] = el}> {i <= active ? : }
Schritt {i + 1}
{s.t}
{s.d}
erledigt
); })}
); } /* ============== SEKTION 7 — APP / PORTAL ============== */ function AppSection({ audience, setAudience }) { const data = LP_APP[audience] || LP_APP.mieter; return (
App & Portal

Alles im Blick — für Mieter und Vermieter.

Nach der Aktivierung erhalten Sie Zugriff auf Ihr digitales Powermieter-Portal: Verbrauch, PV-Anteil, Kostenentwicklung und Abrechnungen — transparent aufbereitet, dunkel oder hell.

{data.kpis.map((k, i) => (
{k.u}
{k.l}
))}
Vier Smartphone-Ansichten der Powermieter-App: Mieter und Vermieter, Dark und Light Mode
Für Mieter
{LP_APP.mieter.points.map((p, i) =>
{p}
)}
Für Vermieter & Hausverwaltung
{LP_APP.vermieter.points.map((p, i) =>
{p}
)}
); } /* ============== SEKTION 8 — FAQ ============== */ function FaqSection() { return (
Häufige Fragen

Kurz & ehrlich beantwortet

{LP_FAQ.map((x, i) => ( {x.a} ))}
); } /* ============== SEKTION 9 — FINAL CTA ============== */ function FinalSection({ onForm, onChat }) { return (
Jetzt mitmachen

Werden Sie Teil des Energieprojekts in Ihrem Haus.

Melden Sie Ihr Interesse an und lassen Sie sich Schritt für Schritt durch den Prozess führen — verständlich, sicher und jederzeit unterbrechbar.

Paula
Paula hilft Ihnen
Energieberaterin · antwortet sofort
„Sie sind unsicher, ob sich die Teilnahme für Sie lohnt? Fragen Sie mich einfach — ich rechne es Ihnen verständlich vor."
); } /* ============== FOOTER ============== */ function LandingFooter({ onAdmin }) { return ( ); } Object.assign(window, { InterestSection, TimelineSection, AppSection, FaqSection, FinalSection, LandingFooter });