AI Girlfriend | পারফেক্ট ম্যাচ 💜
12,483 users online • 238 joined today
`;
}
function renderTypeStep() {
const options = [
{ icon: "🔥", label: "Blonde 🔥", val: "blonde" },
{ icon: "💋", label: "Asian 💋", val: "asian" },
{ icon: "😘", label: "Cute Bengali 😘", val: "bengali" },
{ icon: "🖤", label: "Goth Girl 🖤", val: "goth" },
{ icon: "👀", label: "Mature 👀", val: "mature" }
];
return `
কোন টাইপ পছন্দ তোমার? 😏
${options.map(opt => `
`).join('')}
`;
}
function renderChatStep() {
const chats = [
{ icon: "😘", label: "Flirty Chat 😘", val: "flirty" },
{ icon: "🎤", label: "Voice Message 🎤", val: "voice" },
{ icon: "🔒", label: "Private Photo 🔒", val: "photo" },
{ icon: "📹", label: "Video Call 📹", val: "video" },
{ icon: "🌙", label: "Late Night Talk 🌙", val: "night" }
];
return `
কেমন chat করতে চাও? 💬
কেউ টাইপ করছে... 💜
${chats.map(opt => `
`).join('')}
`;
}
function renderOnlineStep() {
const times = [
{ icon: "💬", label: "সবসময় 💬", val: "always" },
{ icon: "🌙", label: "রাতের বেলা 🌙", val: "night" },
{ icon: "🍷", label: "Weekend এ 🍷", val: "weekend" },
{ icon: "😈", label: "Only for me 😈", val: "exclusive" }
];
return `
সে কখন online থাকুক? ❤️
${times.map(opt => `
`).join('')}
`;
}
function renderResult() {
return `
তোমার AI Match Ready 😘
💜 98% Match 💜
Private Voice 💜
Premium
হেই বেবি... তুমি আমার perfect match 😘 continue করলে তোমাকে private কিছু দেখাবো...
Private Gallery 🔒
${[1,2,3].map(() => `
`).join('')}
বাংলাদেশে এখন trending 🔥
238 joined today | 🟢 12483 active
ফ্লার্টি মেসেজ এসেছে 💬
15:00
আজকের offer শেষ হতে চলছে ⚠️
⚠️ Limited access warning ⚠️
`;
}
// main render dispatcher
function renderStep() {
let html = '';
if (currentStep === 0) html = renderHero();
else if (currentStep === 1) html = renderTypeStep();
else if (currentStep === 2) html = renderChatStep();
else if (currentStep === 3) html = renderOnlineStep();
else if (currentStep === 4) html = renderResult();
contentDiv.innerHTML = html;
updateProgress();
updateCounters();
// attach event listeners based on step
if (currentStep === 0) {
const heroBtn = document.getElementById('heroStartBtn');
if (heroBtn) heroBtn.onclick = () => { redirectToOffer(); currentStep = 1; renderStep(); };
}
else if (currentStep >= 1 && currentStep <= 3) {
// quiz options
document.querySelectorAll('.quiz-option').forEach(el => {
el.addEventListener('click', (e) => {
const key = el.getAttribute('data-key');
const val = el.getAttribute('data-value');
if (key && val) {
quizAnswers[key] = val;
// add selected style
document.querySelectorAll('.quiz-option').forEach(opt => opt.classList.remove('selected'));
el.classList.add('selected');
setTimeout(() => {
if (currentStep === 1) currentStep = 2;
else if (currentStep === 2) currentStep = 3;
else if (currentStep === 3) currentStep = 4;
renderStep();
if (currentStep === 4) {
stickyContainer.style.display = 'block';
startUrgencyTimer();
startChatSimulation();
// animate waveform
const bars = document.querySelectorAll('.wave-bar');
bars.forEach((bar, idx) => {
bar.style.animationDelay = `${idx * 0.08}s`;
});
}
}, 150);
}
});
});
// additional fake typing effect for chat step
if (currentStep === 2) {
const typingSpan = document.getElementById('chatTypingMsg');
if (typingSpan) {
let i = 0;
const msgs = ['💬 কেউ টাইপ করছে...', '🎤 ভয়েস মেসেজ এসেছে!', '📸 নতুন ফটো 🔒'];
setInterval(() => {
if (currentStep === 2 && typingSpan) typingSpan.innerText = msgs[i % msgs.length];
i++;
}, 3000);
}
}
if (currentStep === 3) {
const popupDiv = document.getElementById('matchPopup');
if (popupDiv) {
setInterval(() => {
if (currentStep === 3 && popupDiv) popupDiv.innerHTML = ' ❤️ নতুন ম্যাচ ❤️';
setTimeout(() => { if (currentStep === 3 && popupDiv) popupDiv.innerHTML = ' নতুন ম্যাচ এসেছে!'; }, 1200);
}, 4500);
}
}
}
else if (currentStep === 4) {
stickyContainer.style.display = 'block';
startUrgencyTimer();
startChatSimulation();
// waveform animation
const waveBars = document.querySelectorAll('.wave-bar');
waveBars.forEach((bar, idx) => { bar.style.animation = `waveAnim 0.7s infinite alternate ${idx * 0.07}s`; });
// unlock buttons inside result
const voiceBtn = document.getElementById('voiceUnlockBtn');
if (voiceBtn) voiceBtn.onclick = () => redirectToOffer();
const galleryBtn = document.getElementById('galleryUnlockBtn');
if (galleryBtn) galleryBtn.onclick = () => redirectToOffer();
document.querySelectorAll('.gallery-card').forEach(card => {
card.onclick = () => redirectToOffer();
});
updateCounters();
}
// sticky final CTA always redirect
const stickyBtn = document.getElementById('stickyFinalCta');
if (stickyBtn) stickyBtn.onclick = () => redirectToOffer();
}
// initial load
renderStep();
// extra periodic social counter update for result view
setInterval(() => {
if (currentStep === 4) updateCounters();
}, 5000);