!free!: Splashui Captcha?ap=1
// simulate async captcha validation (like server-side token exchange) setTimeout(() => { const statusDiv = document.getElementById('apiStatusMsg'); if (statusDiv) { // emulate a signed response token (standard for splash captcha) const fakeToken = "splash_captcha_token_" + Math.random().toString(36).substring(2, 12) + "_ap1_valid"; statusDiv.innerHTML = `✅ [API MODE] CAPTCHA resolved successfully.<br> <span style="font-family:monospace; font-size:0.7rem; display:block; margin-top:6px;">token: ${fakeToken}</span><br> <span style="color:#a0f0b0;">👉 Use this token in your API request body.</span>`; statusDiv.style.color = '#c0ffd0'; statusDiv.style.background = '#102a1c'; } // additional dispatch for api-consumer: const apiEvent = new CustomEvent('splashCaptchaResolved', { detail: { success: true, mode: 'ap=1', token: fakeToken, timestamp: Date.now() } }); window.dispatchEvent(apiEvent); console.log('[SplashUI] ap=1 mode — captcha resolved, token emitted'); }, 800); }
.footer-note { font-size: 0.7rem; text-align: center; color: #6a7290; margin-top: 1rem; } </style> </head> <body> splashui captcha?ap=1
// append grid const grid = renderGrid(); dynamicContainer.appendChild(grid); // simulate async captcha validation (like server-side token
/* Challenge zone */ .challenge-text { background: rgba(0, 0, 0, 0.35); padding: 0.9rem 1.2rem; border-radius: 2rem; margin: 1.2rem 0 1.5rem 0; font-weight: 500; font-size: 1rem; border-left: 4px solid #4c7aff; color: #e2e8ff; } { const statusDiv = document.getElementById('apiStatusMsg')
// construct full interactive UI dynamicContainer.innerHTML = ''; // reset const challengeDiv = document.createElement('div'); challengeDiv.className = 'challenge-text'; challengeDiv.innerHTML = '🔍 <strong>Select all squares with a bus</strong><span style="float:right;">⏱️ demo</span>'; dynamicContainer.appendChild(challengeDiv);