land1231235dad / index.html
timoon811's picture
Add 3 files
f238ec5 verified
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Собери свою связку</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
background-color: #0f172a;
color: #e2e8f0;
overflow-x: hidden;
}
.glass-card {
background: rgba(15, 23, 42, 0.7);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.neon-border {
box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
}
.progress-step {
width: 25%;
}
.progress-step.active {
background-color: #3b82f6;
}
.progress-step.completed {
background-color: #10b981;
}
.option-card {
transition: all 0.3s ease;
}
.option-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}
.option-card.selected {
border-color: #3b82f6;
box-shadow: 0 0 15px rgba(59, 130, 246, 0.5);
}
.fade-in {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.slide-in-right {
animation: slideInRight 0.5s ease-in-out;
}
@keyframes slideInRight {
from { opacity: 0; transform: translateX(50px); }
to { opacity: 1; transform: translateX(0); }
}
.pulse {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7); }
70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); }
100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
}
</style>
</head>
<body class="min-h-screen flex flex-col">
<!-- Progress Bar -->
<div class="w-full h-2 bg-slate-800 relative">
<div id="progress-bar" class="absolute top-0 left-0 h-full bg-blue-500 transition-all duration-500 ease-in-out" style="width: 0%"></div>
<div class="absolute top-0 left-0 w-full h-full flex">
<div class="progress-step h-full" data-step="1"></div>
<div class="progress-step h-full" data-step="2"></div>
<div class="progress-step h-full" data-step="3"></div>
<div class="progress-step h-full" data-step="4"></div>
</div>
</div>
<!-- Main Container -->
<div class="flex-1 container mx-auto px-4 py-8 flex flex-col items-center justify-center">
<!-- Stage 1: Introduction -->
<div id="stage-1" class="w-full max-w-3xl text-center fade-in">
<h1 class="text-4xl md:text-5xl font-bold mb-6 bg-gradient-to-r from-blue-400 to-purple-500 bg-clip-text text-transparent">
Сможешь собрать свою первую рабочую связку?
</h1>
<p class="text-lg text-slate-300 mb-8">
Соберите идеальную арбитражную связку из готовых компонентов и узнайте её потенциал
</p>
<div class="glass-card rounded-xl p-8 mb-8">
<div class="flex flex-wrap justify-center gap-4">
<div class="w-16 h-16 rounded-lg bg-slate-800 flex items-center justify-center">
<i class="fas fa-question text-2xl text-slate-400"></i>
</div>
<div class="w-16 h-16 rounded-lg bg-slate-800 flex items-center justify-center">
<i class="fas fa-question text-2xl text-slate-400"></i>
</div>
<div class="w-16 h-16 rounded-lg bg-slate-800 flex items-center justify-center">
<i class="fas fa-question text-2xl text-slate-400"></i>
</div>
<div class="w-16 h-16 rounded-lg bg-slate-800 flex items-center justify-center">
<i class="fas fa-question text-2xl text-slate-400"></i>
</div>
</div>
</div>
<button id="start-btn" class="px-8 py-3 bg-blue-600 hover:bg-blue-700 rounded-lg font-medium text-white transition-all pulse">
Начать сборку <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
<!-- Stage 2: Vertical Selection -->
<div id="stage-2" class="w-full max-w-3xl hidden">
<h2 class="text-3xl font-bold mb-6 text-center">Выберите вертикаль</h2>
<p class="text-slate-300 mb-8 text-center">Какой нише будет посвящена ваша связка?</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="gambling">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-blue-900 flex items-center justify-center mr-3">
<i class="fas fa-dice text-blue-400"></i>
</div>
<h3 class="text-xl font-semibold">Gambling</h3>
</div>
<p class="text-slate-400">Высокий ROI, но требует особых подходов к трафику</p>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="crypto">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-purple-900 flex items-center justify-center mr-3">
<i class="fas fa-coins text-purple-400"></i>
</div>
<h3 class="text-xl font-semibold">Crypto</h3>
</div>
<p class="text-slate-400">Перспективно, но требует глубоких знаний продукта</p>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="nutra">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-green-900 flex items-center justify-center mr-3">
<i class="fas fa-pills text-green-400"></i>
</div>
<h3 class="text-xl font-semibold">Nutra</h3>
</div>
<p class="text-slate-400">Стабильный спрос, хорошие конверсии</p>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="dating">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-pink-900 flex items-center justify-center mr-3">
<i class="fas fa-heart text-pink-400"></i>
</div>
<h3 class="text-xl font-semibold">Dating</h3>
</div>
<p class="text-slate-400">Широкий охват, но высокая конкуренция</p>
</div>
</div>
<div class="mt-8 flex justify-center">
<button id="back-to-1" class="px-6 py-2 bg-slate-700 hover:bg-slate-600 rounded-lg font-medium mr-4">
<i class="fas fa-arrow-left mr-2"></i> Назад
</button>
<button id="next-to-3" class="px-6 py-2 bg-blue-600 hover:bg-blue-700 rounded-lg font-medium" disabled>
Далее <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
<!-- Stage 3: GEO Selection -->
<div id="stage-3" class="w-full max-w-3xl hidden">
<h2 class="text-3xl font-bold mb-6 text-center">Выберите GEO</h2>
<p class="text-slate-300 mb-8 text-center">Где сейчас жарко? <span id="hot-geo" class="text-blue-400 font-medium">IN, BR, RO, TR</span></p>
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500 flex flex-col items-center" data-value="IN">
<div class="text-4xl mb-3">🇮🇳</div>
<h3 class="text-xl font-semibold mb-2">Индия</h3>
<p class="text-sm text-slate-400 text-center">ROI: +120-180%</p>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500 flex flex-col items-center" data-value="BR">
<div class="text-4xl mb-3">🇧🇷</div>
<h3 class="text-xl font-semibold mb-2">Бразилия</h3>
<p class="text-sm text-slate-400 text-center">ROI: +90-150%</p>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500 flex flex-col items-center" data-value="RO">
<div class="text-4xl mb-3">🇷🇴</div>
<h3 class="text-xl font-semibold mb-2">Румыния</h3>
<p class="text-sm text-slate-400 text-center">ROI: +80-130%</p>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500 flex flex-col items-center" data-value="TR">
<div class="text-4xl mb-3">🇹🇷</div>
<h3 class="text-xl font-semibold mb-2">Турция</h3>
<p class="text-sm text-slate-400 text-center">ROI: +70-120%</p>
</div>
</div>
<div class="mt-8 flex justify-center">
<button id="back-to-2" class="px-6 py-2 bg-slate-700 hover:bg-slate-600 rounded-lg font-medium mr-4">
<i class="fas fa-arrow-left mr-2"></i> Назад
</button>
<button id="next-to-4" class="px-6 py-2 bg-blue-600 hover:bg-blue-700 rounded-lg font-medium" disabled>
Далее <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
<!-- Stage 4: Traffic Source -->
<div id="stage-4" class="w-full max-w-3xl hidden">
<h2 class="text-3xl font-bold mb-6 text-center">Выберите источник трафика</h2>
<p class="text-slate-300 mb-8 text-center">Новичкам советуем <span class="text-blue-400 font-medium">FB или TikTok</span></p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="facebook">
<div class="flex items-center mb-3">
<div class="w-12 h-12 rounded-full bg-blue-800 flex items-center justify-center mr-4">
<i class="fab fa-facebook-f text-blue-300 text-xl"></i>
</div>
<div>
<h3 class="text-xl font-semibold">Facebook Ads</h3>
<p class="text-sm text-slate-400">Высокий CTR, хорошая конверсия</p>
</div>
</div>
<div class="bg-slate-800 rounded-lg p-3 text-sm">
<div class="flex justify-between mb-1">
<span>Сложность:</span>
<span class="text-yellow-400">Средняя</span>
</div>
<div class="flex justify-between">
<span>Бюджет:</span>
<span class="text-green-400">$300+</span>
</div>
</div>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="tiktok">
<div class="flex items-center mb-3">
<div class="w-12 h-12 rounded-full bg-black flex items-center justify-center mr-4">
<i class="fab fa-tiktok text-white text-xl"></i>
</div>
<div>
<h3 class="text-xl font-semibold">TikTok Ads</h3>
<p class="text-sm text-slate-400">Молодая аудитория, виральный потенциал</p>
</div>
</div>
<div class="bg-slate-800 rounded-lg p-3 text-sm">
<div class="flex justify-between mb-1">
<span>Сложность:</span>
<span class="text-green-400">Низкая</span>
</div>
<div class="flex justify-between">
<span>Бюджет:</span>
<span class="text-green-400">$200+</span>
</div>
</div>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="google">
<div class="flex items-center mb-3">
<div class="w-12 h-12 rounded-full bg-red-800 flex items-center justify-center mr-4">
<i class="fab fa-google text-red-300 text-xl"></i>
</div>
<div>
<h3 class="text-xl font-semibold">Google Ads</h3>
<p class="text-sm text-slate-400">Поисковый трафик, высокая интенция</p>
</div>
</div>
<div class="bg-slate-800 rounded-lg p-3 text-sm">
<div class="flex justify-between mb-1">
<span>Сложность:</span>
<span class="text-yellow-400">Высокая</span>
</div>
<div class="flex justify-between">
<span>Бюджет:</span>
<span class="text-green-400">$500+</span>
</div>
</div>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="push">
<div class="flex items-center mb-3">
<div class="w-12 h-12 rounded-full bg-orange-800 flex items-center justify-center mr-4">
<i class="fas fa-bell text-orange-300 text-xl"></i>
</div>
<div>
<h3 class="text-xl font-semibold">Push трафик</h3>
<p class="text-sm text-slate-400">Дешевый трафик, средняя конверсия</p>
</div>
</div>
<div class="bg-slate-800 rounded-lg p-3 text-sm">
<div class="flex justify-between mb-1">
<span>Сложность:</span>
<span class="text-green-400">Низкая</span>
</div>
<div class="flex justify-between">
<span>Бюджет:</span>
<span class="text-green-400">$100+</span>
</div>
</div>
</div>
</div>
<div class="mt-8 flex justify-center">
<button id="back-to-3" class="px-6 py-2 bg-slate-700 hover:bg-slate-600 rounded-lg font-medium mr-4">
<i class="fas fa-arrow-left mr-2"></i> Назад
</button>
<button id="next-to-5" class="px-6 py-2 bg-blue-600 hover:bg-blue-700 rounded-lg font-medium" disabled>
Далее <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
<!-- Stage 5: Landing Type -->
<div id="stage-5" class="w-full max-w-3xl hidden">
<h2 class="text-3xl font-bold mb-6 text-center">Выберите прокладку</h2>
<p class="text-slate-300 mb-8 text-center">Какой формат креатива будете использовать?</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="landing">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-blue-900 flex items-center justify-center mr-3">
<i class="fas fa-window-maximize text-blue-400"></i>
</div>
<h3 class="text-xl font-semibold">Лендинг</h3>
</div>
<p class="text-slate-400 mb-4">Классический одностраничник с оффером</p>
<div class="bg-slate-800 rounded-lg p-3 h-32 flex items-center justify-center">
<div class="w-full h-20 bg-gradient-to-r from-blue-900 to-blue-700 rounded flex items-center justify-center">
<span class="text-xs text-blue-200">Пример лендинга</span>
</div>
</div>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="quiz">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-purple-900 flex items-center justify-center mr-3">
<i class="fas fa-question-circle text-purple-400"></i>
</div>
<h3 class="text-xl font-semibold">Квиз</h3>
</div>
<p class="text-slate-400 mb-4">Интерактивный опрос с подводкой к офферу</p>
<div class="bg-slate-800 rounded-lg p-3 h-32 flex items-center justify-center">
<div class="w-full h-20 bg-gradient-to-r from-purple-900 to-purple-700 rounded flex items-center justify-center">
<span class="text-xs text-purple-200">Пример квиза</span>
</div>
</div>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="fake-shop">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-green-900 flex items-center justify-center mr-3">
<i class="fas fa-store text-green-400"></i>
</div>
<h3 class="text-xl font-semibold">Fake Shop</h3>
</div>
<p class="text-slate-400 mb-4">Имитация интернет-магазина с выгодным предложением</p>
<div class="bg-slate-800 rounded-lg p-3 h-32 flex items-center justify-center">
<div class="w-full h-20 bg-gradient-to-r from-green-900 to-green-700 rounded flex items-center justify-center">
<span class="text-xs text-green-200">Пример магазина</span>
</div>
</div>
</div>
<div class="option-card glass-card rounded-xl p-6 cursor-pointer border border-transparent hover:border-blue-500" data-value="fake-win">
<div class="flex items-center mb-3">
<div class="w-10 h-10 rounded-full bg-yellow-900 flex items-center justify-center mr-3">
<i class="fas fa-trophy text-yellow-400"></i>
</div>
<h3 class="text-xl font-semibold">Fake Win</h3>
</div>
<p class="text-slate-400 mb-4">Имитация выигрыша с необходимостью регистрации</p>
<div class="bg-slate-800 rounded-lg p-3 h-32 flex items-center justify-center">
<div class="w-full h-20 bg-gradient-to-r from-yellow-900 to-yellow-700 rounded flex items-center justify-center">
<span class="text-xs text-yellow-200">Пример выигрыша</span>
</div>
</div>
</div>
</div>
<div class="mt-8 flex justify-center">
<button id="back-to-4" class="px-6 py-2 bg-slate-700 hover:bg-slate-600 rounded-lg font-medium mr-4">
<i class="fas fa-arrow-left mr-2"></i> Назад
</button>
<button id="show-result" class="px-6 py-2 bg-blue-600 hover:bg-blue-700 rounded-lg font-medium" disabled>
Показать результат <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
<!-- Stage 6: Final Result -->
<div id="stage-6" class="w-full max-w-3xl hidden">
<h2 class="text-3xl font-bold mb-6 text-center">Ваша связка готова!</h2>
<p class="text-slate-300 mb-8 text-center">Вот что у вас получилось:</p>
<div class="glass-card rounded-xl p-8 mb-8 neon-border">
<div class="flex flex-wrap justify-center gap-4 mb-8">
<div class="w-16 h-16 rounded-lg bg-blue-900 flex flex-col items-center justify-center">
<i id="vertical-icon" class="fas fa-dice text-2xl text-blue-400 mb-1"></i>
<span id="vertical-label" class="text-xs">Gambling</span>
</div>
<div class="w-16 h-16 rounded-lg bg-purple-900 flex flex-col items-center justify-center">
<i id="geo-icon" class="fas fa-globe text-2xl text-purple-400 mb-1"></i>
<span id="geo-label" class="text-xs">IN</span>
</div>
<div class="w-16 h-16 rounded-lg bg-green-900 flex flex-col items-center justify-center">
<i id="source-icon" class="fab fa-tiktok text-2xl text-green-400 mb-1"></i>
<span id="source-label" class="text-xs">TikTok</span>
</div>
<div class="w-16 h-16 rounded-lg bg-yellow-900 flex flex-col items-center justify-center">
<i id="landing-icon" class="fas fa-trophy text-2xl text-yellow-400 mb-1"></i>
<span id="landing-label" class="text-xs">Fake Win</span>
</div>
</div>
<div class="bg-slate-800 rounded-lg p-6">
<h3 class="text-xl font-semibold mb-4">Детали связки:</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="text-slate-400">Вертикаль:</span>
<span id="final-vertical" class="font-medium">Gambling</span>
</div>
<div class="flex justify-between">
<span class="text-slate-400">GEO:</span>
<span id="final-geo" class="font-medium">Индия (IN)</span>
</div>
<div class="flex justify-between">
<span class="text-slate-400">Источник трафика:</span>
<span id="final-source" class="font-medium">TikTok Ads</span>
</div>
<div class="flex justify-between">
<span class="text-slate-400">Прокладка:</span>
<span id="final-landing" class="font-medium">Fake Win</span>
</div>
<div class="flex justify-between pt-3 border-t border-slate-700">
<span class="text-slate-400">Потенциальный ROI:</span>
<span id="final-roi" class="font-bold text-green-400">+163%</span>
</div>
</div>
</div>
</div>
<div class="text-center mb-8">
<p class="text-slate-300 mb-4">Хотите реализовать эту связку на практике?</p>
<button id="course-btn" class="px-8 py-3 bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-700 hover:to-purple-700 rounded-lg font-medium text-white transition-all mb-4">
Хочу реализовать её на курсе <i class="fas fa-rocket ml-2"></i>
</button>
<button id="restart-btn" class="px-6 py-2 bg-slate-700 hover:bg-slate-600 rounded-lg font-medium">
Собрать другую связку <i class="fas fa-redo ml-2"></i>
</button>
</div>
</div>
</div>
<script>
// State management
const state = {
vertical: null,
geo: null,
source: null,
landing: null
};
// DOM elements
const stages = {
1: document.getElementById('stage-1'),
2: document.getElementById('stage-2'),
3: document.getElementById('stage-3'),
4: document.getElementById('stage-4'),
5: document.getElementById('stage-5'),
6: document.getElementById('stage-6')
};
const progressBar = document.getElementById('progress-bar');
const progressSteps = document.querySelectorAll('.progress-step');
// Navigation buttons
document.getElementById('start-btn').addEventListener('click', () => navigateTo(2));
document.getElementById('back-to-1').addEventListener('click', () => navigateTo(1));
document.getElementById('next-to-3').addEventListener('click', () => navigateTo(3));
document.getElementById('back-to-2').addEventListener('click', () => navigateTo(2));
document.getElementById('next-to-4').addEventListener('click', () => navigateTo(4));
document.getElementById('back-to-3').addEventListener('click', () => navigateTo(3));
document.getElementById('next-to-5').addEventListener('click', () => navigateTo(5));
document.getElementById('back-to-4').addEventListener('click', () => navigateTo(4));
document.getElementById('show-result').addEventListener('click', () => navigateTo(6));
document.getElementById('restart-btn').addEventListener('click', resetAll);
// Option selection
document.querySelectorAll('#stage-2 .option-card').forEach(card => {
card.addEventListener('click', function() {
document.querySelectorAll('#stage-2 .option-card').forEach(c => c.classList.remove('selected'));
this.classList.add('selected');
state.vertical = this.getAttribute('data-value');
document.getElementById('next-to-3').disabled = false;
// Update icon preview
const iconMap = {
'gambling': 'fa-dice',
'crypto': 'fa-coins',
'nutra': 'fa-pills',
'dating': 'fa-heart'
};
document.getElementById('vertical-icon').className = `fas ${iconMap[state.vertical]} text-2xl text-blue-400 mb-1`;
document.getElementById('vertical-label').textContent = this.querySelector('h3').textContent;
});
});
document.querySelectorAll('#stage-3 .option-card').forEach(card => {
card.addEventListener('click', function() {
document.querySelectorAll('#stage-3 .option-card').forEach(c => c.classList.remove('selected'));
this.classList.add('selected');
state.geo = this.getAttribute('data-value');
document.getElementById('next-to-4').disabled = false;
// Update geo preview
const geoLabels = {
'IN': 'Индия',
'BR': 'Бразилия',
'RO': 'Румыния',
'TR': 'Турция'
};
document.getElementById('geo-label').textContent = state.geo;
document.getElementById('final-geo').textContent = `${geoLabels[state.geo]} (${state.geo})`;
});
});
document.querySelectorAll('#stage-4 .option-card').forEach(card => {
card.addEventListener('click', function() {
document.querySelectorAll('#stage-4 .option-card').forEach(c => c.classList.remove('selected'));
this.classList.add('selected');
state.source = this.getAttribute('data-value');
document.getElementById('next-to-5').disabled = false;
// Update source preview
const iconMap = {
'facebook': 'fa-facebook-f',
'tiktok': 'fa-tiktok',
'google': 'fa-google',
'push': 'fa-bell'
};
const labelMap = {
'facebook': 'Facebook',
'tiktok': 'TikTok',
'google': 'Google',
'push': 'Push'
};
document.getElementById('source-icon').className = `fab ${iconMap[state.source]} text-2xl text-green-400 mb-1`;
document.getElementById('source-label').textContent = labelMap[state.source];
document.getElementById('final-source').textContent = `${labelMap[state.source]} Ads`;
});
});
document.querySelectorAll('#stage-5 .option-card').forEach(card => {
card.addEventListener('click', function() {
document.querySelectorAll('#stage-5 .option-card').forEach(c => c.classList.remove('selected'));
this.classList.add('selected');
state.landing = this.getAttribute('data-value');
document.getElementById('show-result').disabled = false;
// Update landing preview
const iconMap = {
'landing': 'fa-window-maximize',
'quiz': 'fa-question-circle',
'fake-shop': 'fa-store',
'fake-win': 'fa-trophy'
};
const labelMap = {
'landing': 'Лендинг',
'quiz': 'Квиз',
'fake-shop': 'Fake Shop',
'fake-win': 'Fake Win'
};
document.getElementById('landing-icon').className = `fas ${iconMap[state.landing]} text-2xl text-yellow-400 mb-1`;
document.getElementById('landing-label').textContent = labelMap[state.landing];
document.getElementById('final-landing').textContent = labelMap[state.landing];
// Calculate ROI based on selections
calculateROI();
});
});
// Navigation function
function navigateTo(stageNumber) {
// Hide all stages
Object.values(stages).forEach(stage => {
if (stage) stage.classList.add('hidden');
});
// Show current stage
stages[stageNumber].classList.remove('hidden');
// Add animation
stages[stageNumber].classList.add('fade-in');
setTimeout(() => {
stages[stageNumber].classList.remove('fade-in');
}, 500);
// Update progress bar
const progressPercentage = (stageNumber - 1) * 25;
progressBar.style.width = `${progressPercentage}%`;
// Update progress steps
progressSteps.forEach((step, index) => {
step.classList.remove('active', 'completed');
if (index < stageNumber - 1) {
step.classList.add('completed');
} else if (index === stageNumber - 1) {
step.classList.add('active');
}
});
// Scroll to top
window.scrollTo(0, 0);
// Update final results if we're on the last stage
if (stageNumber === 6) {
updateFinalResults();
}
}
// Update final results
function updateFinalResults() {
const verticalLabels = {
'gambling': 'Gambling',
'crypto': 'Crypto',
'nutra': 'Nutra',
'dating': 'Dating'
};
document.getElementById('final-vertical').textContent = verticalLabels[state.vertical];
}
// Calculate ROI based on selections
function calculateROI() {
// Base ROI values
const verticalROI = {
'gambling': 150,
'crypto': 120,
'nutra': 100,
'dating': 90
};
const geoROI = {
'IN': 30,
'BR': 20,
'RO': 15,
'TR': 10
};
const sourceROI = {
'facebook': 20,
'tiktok': 25,
'google': 15,
'push': 10
};
const landingROI = {
'landing': 5,
'quiz': 15,
'fake-shop': 20,
'fake-win': 25
};
// Calculate total ROI
if (state.vertical && state.geo && state.source && state.landing) {
const totalROI =
verticalROI[state.vertical] +
geoROI[state.geo] +
sourceROI[state.source] +
landingROI[state.landing];
document.getElementById('final-roi').textContent = `+${totalROI}%`;
}
}
// Reset all selections
function resetAll() {
// Reset state
state.vertical = null;
state.geo = null;
state.source = null;
state.landing = null;
// Reset selections
document.querySelectorAll('.option-card').forEach(card => {
card.classList.remove('selected');
});
// Disable next buttons
document.getElementById('next-to-3').disabled = true;
document.getElementById('next-to-4').disabled = true;
document.getElementById('next-to-5').disabled = true;
document.getElementById('show-result').disabled = true;
// Navigate to first stage
navigateTo(1);
}
// Initialize
navigateTo(1);
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=timoon811/land1231235dad" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>