// --- OKTA CONFIG --- const oktaSignIn = new OktaSignIn({ baseUrl: 'https://vyncacare.okta.com', clientId: '0oa20ooy7hpE05cuN1d8', redirectUri: window.location.origin, authParams: { pkce: true, issuer: 'default', display: 'page' } }); // Hide the shipping form until login document.getElementById('step1').style.display = 'none'; document.getElementById('step2').style.display = 'none'; document.getElementById('step3').style.display = 'none'; oktaSignIn.renderEl( { el: '#oktaLoginContainer' }, async function(res) { if (res.status === 'SUCCESS') { // Get ID token to send to backend const idToken = res.tokens.idToken.idToken; // Fetch current user info from Okta API (or from token) currentUser = { email: res.tokens.idToken.claims.email, firstName: res.tokens.idToken.claims.given_name, lastName: res.tokens.idToken.claims.family_name }; // Auto-fill email input and show shipping form document.getElementById('userEmail').value = currentUser.email; document.getElementById('oktaLoginContainer').style.display = 'none'; document.getElementById('step1').style.display = 'block'; // Optionally auto-lookup user to fill address const lookupResponse = await fetch(`${BACKEND_URL}/api/lookup-user`, { method: 'POST', headers: { 'Authorization': `Bearer ${idToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ email: currentUser.email }) }); const lookupResult = await lookupResponse.json(); if (lookupResult.success) { currentUser = lookupResult.user; document.getElementById('userName').textContent = `${currentUser.firstName} ${currentUser.lastName}`; document.getElementById('userEmailDisplay').textContent = currentUser.email; document.getElementById('userAddress').textContent = currentUser.streetAddress; document.getElementById('userCityState').textContent = `${currentUser.city}, ${currentUser.state}`; document.getElementById('userZip').textContent = currentUser.zipCode; document.getElementById('userPreview').style.display = 'block'; } } }, function(err) { console.error(err); } );