// ── Stripe Payment Success Handler ────────────────────────────────────── (function(){ try { const params = new URLSearchParams(window.location.search); if (params.get('payment') === 'success') { const email = params.get('email') || ''; // Speichere für Login-Formular if (email) localStorage.setItem('kv_payment_email', email); localStorage.setItem('kv_payment_success', '1'); // Auth-State direkt setzen damit React das Dashboard zeigt localStorage.setItem('lq-onboarded', '1'); localStorage.setItem('lq-auth', 'logged-in'); localStorage.removeItem('lq-resume-onboarding'); // kv_user/kv_ts setzen damit die Session-Prüfung nicht fehlschlägt if (!localStorage.getItem('kv_user')) { localStorage.setItem('kv_user', email || 'paid'); localStorage.setItem('kv_ts', String(Date.now())); } // Toast anzeigen sobald DOM bereit window.addEventListener('load', function() { setTimeout(function() { const toast = document.createElement('div'); toast.id = 'payment-success-toast'; toast.style.cssText = 'position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:99999;background:#00e676;color:#000;padding:14px 28px;border-radius:12px;font:600 15px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;box-shadow:0 4px 24px rgba(0,230,118,0.35);display:flex;align-items:center;gap:10px;animation:slideDown 0.4s ease'; toast.innerHTML = '🎉Zahlung erfolgreich! Melde dich jetzt an.'; document.body.appendChild(toast); setTimeout(function(){ toast.style.opacity='0'; toast.style.transition='opacity 0.5s'; setTimeout(function(){ toast.remove(); }, 500); }, 5000); }, 800); }); } if (params.get('payment') === 'cancelled') { localStorage.setItem('kv_payment_cancelled', '1'); window.history.replaceState({}, '', window.location.pathname); } } catch(e) {} })();