class RedeemForm extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
`; this.shadowRoot.getElementById('redeemForm').addEventListener('submit', (e) => { e.preventDefault(); this.handleSubmit(); }); } handleSubmit() { const form = this.shadowRoot.getElementById('redeemForm'); const formData = new FormData(form); const code = formData.get('code'); const paymentMethod = formData.get('paymentMethod'); const walletAddress = formData.get('walletAddress'); const messageEl = this.shadowRoot.getElementById('message'); // Simulate redemption process messageEl.style.display = 'block'; messageEl.className = 'message success'; messageEl.textContent = `✅ Processing ${paymentMethod} redemption for code ${code}...`; setTimeout(() => { if (code.length > 8 && walletAddress.length > 5) { messageEl.className = 'message success'; messageEl.textContent = `🎉 Success! ${paymentMethod} payment sent to ${walletAddress}`; form.reset(); } else { messageEl.className = 'message error'; messageEl.textContent = '❌ Invalid code or address. Please try again.'; } }, 1500); } } customElements.define('redeem-form', RedeemForm);