/* Powermieter — Screen 4: Onboarding / Aktivierung */ function Screen4({ form, restart, device }) { const mobile = device === 'mobile'; const name = form.vorname || 'Max'; const refId = 'PM-' + (2026) + '-' + String(Math.abs(hashStr((form.email || '') + name)) % 100000).padStart(5, '0'); const timeline = [ { t: 'Vertragsprüfung', d: 'Wir prüfen Ihre Angaben und bestätigen den Vertrag.', eta: 'Heute – in Kürze', state: 'active' }, { t: 'Zählerdatenabgleich', d: 'Abgleich Ihrer Zählernummer mit dem Netzbetreiber.', eta: 'In 1–3 Tagen', state: 'todo' }, { t: 'Lieferstart / Aktivierung', d: 'Ihre Belieferung mit lokalem Solarstrom beginnt — ohne Unterbrechung.', eta: 'Zum Lieferbeginn', state: 'todo' }, { t: 'Zugang zum Powermieter-Portal', d: 'Verbrauch einsehen, Abrechnungen herunterladen, Vertrag verwalten.', eta: 'Nach Aktivierung', state: 'todo' }, ]; return (
{/* Success hero */}

Willkommen bei Powermieter, {name}!

Ihr Vertrag wurde erfolgreich übermittelt. Alle weiteren Informationen erhalten Sie per E-Mail an {form.email || 'max@beispiel.de'}.

Vorgangsnummer{refId}
StatusIn Prüfung
{/* Timeline */}

So geht es weiter

Sie müssen nichts weiter tun — wir melden uns bei jedem Schritt.

{timeline.map((s, i) => (
{s.state === 'done' ? : s.state === 'active' ? : i + 1} {i < timeline.length - 1 && }
{s.t}{s.state === 'active' && Aktuell}
{s.d}
{s.eta}
))}
{/* Downloads */}

Ihre Dokumente

{[['Vertragskopie', 'PDF · 240 KB'], ['Preisblatt', 'PDF · 96 KB'], ['Datenschutzinfo', 'PDF · 110 KB']].map(([n, m]) => (
{n}
{m}
))}
{/* Portal CTA */}
Powermieter Portal

Behalten Sie Ihren Strom im Blick

Verbrauch einsehen, Abrechnungen herunterladen und Ihren Solaranteil verfolgen — sobald Ihre Belieferung startet.

Aktueller Solaranteil73%
{[40, 65, 52, 78, 73, 60, 85].map((h, i) => )}
{/* Referral */}
Informieren Sie auch Ihre Nachbarn

Je mehr Haushalte teilnehmen, desto besser wird der Solarstrom im Gebäude genutzt.

); } function hashStr(s) { let h = 0; for (let i = 0; i < s.length; i++) { h = (h << 5) - h + s.charCodeAt(i); h |= 0; } return h; } Object.assign(window, { Screen4 });