|
|
<!DOCTYPE html> |
|
|
<html lang="ru"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>PhaseAI - Тестовый прогноз</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@300;400;500;600;700&display=swap'); |
|
|
|
|
|
body { |
|
|
font-family: 'Inter', sans-serif; |
|
|
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); |
|
|
min-height: 100vh; |
|
|
color: #e2e8f0; |
|
|
} |
|
|
|
|
|
.glass-card { |
|
|
background: rgba(15, 23, 42, 0.7); |
|
|
backdrop-filter: blur(10px); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
} |
|
|
|
|
|
.neon-purple { |
|
|
color: #c084fc; |
|
|
text-shadow: 0 0 5px rgba(192, 132, 252, 0.5); |
|
|
} |
|
|
|
|
|
.neon-teal { |
|
|
color: #5eead4; |
|
|
text-shadow: 0 0 5px rgba(94, 234, 212, 0.5); |
|
|
} |
|
|
|
|
|
.phase-indicator { |
|
|
position: relative; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.phase-indicator::after { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
height: 100%; |
|
|
background: linear-gradient(90deg, rgba(94, 234, 212, 0.2) 0%, rgba(192, 132, 252, 0.2) 100%); |
|
|
border-radius: 9999px; |
|
|
} |
|
|
|
|
|
.holding::after { |
|
|
width: 30%; |
|
|
background: linear-gradient(90deg, rgba(239, 68, 68, 0.2) 0%, rgba(249, 168, 212, 0.2) 100%); |
|
|
} |
|
|
|
|
|
.payout::after { |
|
|
width: 73%; |
|
|
background: linear-gradient(90deg, rgba(94, 234, 212, 0.2) 0%, rgba(192, 132, 252, 0.2) 100%); |
|
|
} |
|
|
|
|
|
.fade-in { |
|
|
animation: fadeIn 0.5s ease-in-out; |
|
|
} |
|
|
|
|
|
.slide-up { |
|
|
animation: slideUp 0.5s ease-out; |
|
|
} |
|
|
|
|
|
@keyframes fadeIn { |
|
|
from { opacity: 0; } |
|
|
to { opacity: 1; } |
|
|
} |
|
|
|
|
|
@keyframes slideUp { |
|
|
from { transform: translateY(20px); opacity: 0; } |
|
|
to { transform: translateY(0); opacity: 1; } |
|
|
} |
|
|
|
|
|
.graph-container { |
|
|
height: 200px; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.graph-line { |
|
|
position: absolute; |
|
|
bottom: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 80%; |
|
|
background: linear-gradient(to top, rgba(94, 234, 212, 0.2) 0%, transparent 100%); |
|
|
clip-path: polygon( |
|
|
0% 100%, |
|
|
10% 80%, |
|
|
20% 85%, |
|
|
30% 60%, |
|
|
40% 70%, |
|
|
50% 40%, |
|
|
60% 50%, |
|
|
70% 20%, |
|
|
80% 30%, |
|
|
90% 10%, |
|
|
100% 20%, |
|
|
100% 100% |
|
|
); |
|
|
} |
|
|
|
|
|
.payout-graph { |
|
|
background: linear-gradient(to top, rgba(94, 234, 212, 0.2) 0%, transparent 100%); |
|
|
clip-path: polygon( |
|
|
0% 100%, |
|
|
10% 30%, |
|
|
20% 40%, |
|
|
30% 20%, |
|
|
40% 35%, |
|
|
50% 15%, |
|
|
60% 25%, |
|
|
70% 10%, |
|
|
80% 20%, |
|
|
90% 5%, |
|
|
100% 15%, |
|
|
100% 100% |
|
|
); |
|
|
} |
|
|
|
|
|
.demo-badge { |
|
|
position: fixed; |
|
|
top: 20px; |
|
|
right: 20px; |
|
|
transform: rotate(15deg); |
|
|
opacity: 0.7; |
|
|
z-index: 50; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="antialiased"> |
|
|
|
|
|
<div class="demo-badge glass-card px-4 py-2 rounded-full text-xs font-bold text-purple-300"> |
|
|
ДЕМО-РЕЖИМ |
|
|
</div> |
|
|
|
|
|
<div class="container mx-auto px-4 py-12 max-w-6xl"> |
|
|
|
|
|
<div class="text-center mb-12 slide-up"> |
|
|
<h1 class="text-4xl font-bold mb-4 neon-purple">Проверь, как работает <span class="neon-teal">PhaseAI</span></h1> |
|
|
<p class="text-lg text-gray-300">Получи тестовый прогноз для своей любимой игры</p> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="glass-card rounded-xl p-6 mb-8 fade-in"> |
|
|
<h2 class="text-xl font-semibold mb-4 flex items-center"> |
|
|
<i class="fas fa-crown mr-2 text-yellow-400"></i> Выберите казино |
|
|
</h2> |
|
|
<div class="relative"> |
|
|
<select id="casinoSelect" class="w-full bg-slate-800 border border-slate-700 rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-purple-500 appearance-none"> |
|
|
<option value="" disabled selected>Выберите платформу</option> |
|
|
<option value="jet" data-logo="🟣">Jet Casino</option> |
|
|
<option value="1win" data-logo="🔵">1Win</option> |
|
|
<option value="mostbet" data-logo="🔴">MostBet</option> |
|
|
<option value="pinup" data-logo="🟢">Pin-Up</option> |
|
|
<option value="stake" data-logo="🟡">Stake</option> |
|
|
</select> |
|
|
<div class="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none"> |
|
|
<i class="fas fa-chevron-down text-gray-400"></i> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="gamesContainer" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12 hidden"> |
|
|
<h2 class="text-xl font-semibold mb-4 col-span-full flex items-center"> |
|
|
<i class="fas fa-gamepad mr-2 text-purple-400"></i> Доступные игры |
|
|
</h2> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="forecastContainer" class="glass-card rounded-xl p-6 mb-8 hidden slide-up"> |
|
|
<div class="flex justify-between items-start mb-6"> |
|
|
<div> |
|
|
<h2 class="text-2xl font-bold neon-teal mb-1" id="gameTitle">Aviator</h2> |
|
|
<div class="flex items-center text-sm text-gray-400"> |
|
|
<i class="fas fa-clock mr-1"></i> |
|
|
<span id="lastUpdated">Последнее обновление: 12:52</span> |
|
|
</div> |
|
|
</div> |
|
|
<button id="backButton" class="bg-slate-700 hover:bg-slate-600 text-white px-4 py-2 rounded-lg flex items-center"> |
|
|
<i class="fas fa-arrow-left mr-2"></i> Назад |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="graph-container bg-slate-800 rounded-lg mb-6 relative overflow-hidden"> |
|
|
<div class="graph-line payout-graph"></div> |
|
|
<div class="absolute bottom-0 left-0 right-0 h-px bg-slate-600"></div> |
|
|
<div class="absolute top-0 left-0 right-0 p-4 flex justify-between items-start"> |
|
|
<div class="bg-slate-900 bg-opacity-70 px-3 py-1 rounded-full text-xs font-medium"> |
|
|
<span class="neon-teal" id="currentPhase">Фаза: отдача</span> |
|
|
</div> |
|
|
<div class="bg-slate-900 bg-opacity-70 px-3 py-1 rounded-full text-xs font-medium"> |
|
|
<span class="neon-purple" id="winProbability">Вероятность: 78%</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-slate-800 rounded-lg p-4 mb-6 border-l-4 border-teal-400"> |
|
|
<div class="flex items-start"> |
|
|
<div class="bg-teal-900 bg-opacity-30 p-2 rounded-full mr-3"> |
|
|
<i class="fas fa-brain text-teal-300"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h3 class="font-semibold text-teal-300 mb-1">AI-комментарий</h3> |
|
|
<p class="text-sm text-gray-300" id="aiComment">На основе последних 50 раундов вероятен рост коэффициента на 120–180% в ближайшие 7 запусков. Резкое снижение холда в 11:30 — признак высокой вероятности надбавки.</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="mb-6"> |
|
|
<h3 class="font-semibold text-lg mb-3 flex items-center"> |
|
|
<i class="fas fa-history mr-2 text-purple-400"></i> Последние запуски |
|
|
</h3> |
|
|
<div class="bg-slate-800 rounded-lg overflow-hidden"> |
|
|
<table class="w-full text-sm"> |
|
|
<thead class="bg-slate-700 text-gray-300"> |
|
|
<tr> |
|
|
<th class="py-2 px-4 text-left">Время</th> |
|
|
<th class="py-2 px-4 text-left">Коэфф.</th> |
|
|
<th class="py-2 px-4 text-left">Фаза</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody id="roundsTable" class="divide-y divide-slate-700"> |
|
|
|
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-gradient-to-r from-purple-900 to-teal-900 rounded-xl p-6 text-center"> |
|
|
<h3 class="text-xl font-bold mb-3 neon-teal">Хочешь получать такие прогнозы по всем играм?</h3> |
|
|
<p class="text-gray-300 mb-5">Активируй подписку и получай прогнозы в реальном времени с точностью до 92%</p> |
|
|
<button class="bg-gradient-to-r from-purple-500 to-teal-500 hover:from-purple-600 hover:to-teal-600 text-white font-bold py-3 px-8 rounded-full inline-flex items-center transition-all transform hover:scale-105"> |
|
|
<i class="fas fa-gem mr-2"></i> Активировать подписку |
|
|
</button> |
|
|
<div class="mt-4 text-xs text-gray-400"> |
|
|
<i class="fas fa-lock mr-1"></i> Безопасная оплата • Доступ от 1 дня |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
|
|
const casinoSelect = document.getElementById('casinoSelect'); |
|
|
const gamesContainer = document.getElementById('gamesContainer'); |
|
|
const forecastContainer = document.getElementById('forecastContainer'); |
|
|
const backButton = document.getElementById('backButton'); |
|
|
|
|
|
|
|
|
const gamesData = { |
|
|
jet: [ |
|
|
{ id: 1, name: "Aviator", lastActivity: "12:52", phase: "payout", phasePercent: 73 }, |
|
|
{ id: 2, name: "Mines", lastActivity: "12:48", phase: "holding", phasePercent: 30 }, |
|
|
{ id: 3, name: "Plinko", lastActivity: "12:45", phase: "payout", phasePercent: 68 }, |
|
|
{ id: 4, name: "Dice", lastActivity: "12:40", phase: "payout", phasePercent: 75 }, |
|
|
{ id: 5, name: "Roulette", lastActivity: "12:35", phase: "holding", phasePercent: 25 }, |
|
|
{ id: 6, name: "Crash", lastActivity: "12:30", phase: "payout", phasePercent: 70 } |
|
|
], |
|
|
"1win": [ |
|
|
{ id: 1, name: "Aviator", lastActivity: "12:50", phase: "payout", phasePercent: 72 }, |
|
|
{ id: 2, name: "Hilo", lastActivity: "12:45", phase: "holding", phasePercent: 28 }, |
|
|
{ id: 3, name: "Dice", lastActivity: "12:42", phase: "payout", phasePercent: 65 } |
|
|
], |
|
|
mostbet: [ |
|
|
{ id: 1, name: "Aviator", lastActivity: "12:55", phase: "payout", phasePercent: 70 }, |
|
|
{ id: 2, name: "Mines", lastActivity: "12:50", phase: "payout", phasePercent: 67 }, |
|
|
{ id: 3, name: "Plinko", lastActivity: "12:48", phase: "holding", phasePercent: 32 } |
|
|
], |
|
|
pinup: [ |
|
|
{ id: 1, name: "Aviator", lastActivity: "12:58", phase: "holding", phasePercent: 35 }, |
|
|
{ id: 2, name: "Dice", lastActivity: "12:55", phase: "payout", phasePercent: 71 }, |
|
|
{ id: 3, name: "Crash", lastActivity: "12:52", phase: "payout", phasePercent: 69 } |
|
|
], |
|
|
stake: [ |
|
|
{ id: 1, name: "Aviator", lastActivity: "13:00", phase: "payout", phasePercent: 74 }, |
|
|
{ id: 2, name: "Mines", lastActivity: "12:58", phase: "holding", phasePercent: 27 }, |
|
|
{ id: 3, name: "Plinko", lastActivity: "12:55", phase: "payout", phasePercent: 66 } |
|
|
] |
|
|
}; |
|
|
|
|
|
|
|
|
const aiComments = [ |
|
|
"На основе последних 50 раундов вероятен рост коэффициента на 120–180% в ближайшие 7 запусков.", |
|
|
"Система обнаружила паттерн отдачи с высокой вероятностью успеха в ближайшие 5 минут.", |
|
|
"После продолжительного холда игра перешла в фазу отдачи - оптимальное время для ставок.", |
|
|
"Анализ показывает 78% вероятность успешных ставок в ближайшие 3 минуты.", |
|
|
"Резкое снижение холда в последних раундах указывает на скорую фазу отдачи.", |
|
|
"Статистика по игре показывает стабильную отдачу в этот временной промежуток." |
|
|
]; |
|
|
|
|
|
|
|
|
const recentRounds = [ |
|
|
{ time: "12:52", multiplier: "1.87x", phase: "payout" }, |
|
|
{ time: "12:50", multiplier: "0.95x", phase: "holding" }, |
|
|
{ time: "12:48", multiplier: "2.15x", phase: "payout" }, |
|
|
{ time: "12:46", multiplier: "0.45x", phase: "holding" }, |
|
|
{ time: "12:44", multiplier: "1.72x", phase: "payout" }, |
|
|
{ time: "12:42", multiplier: "0.80x", phase: "holding" }, |
|
|
{ time: "12:40", multiplier: "1.95x", phase: "payout" } |
|
|
]; |
|
|
|
|
|
|
|
|
casinoSelect.addEventListener('change', function() { |
|
|
const selectedCasino = this.value; |
|
|
|
|
|
if (selectedCasino) { |
|
|
|
|
|
gamesContainer.classList.remove('hidden'); |
|
|
|
|
|
|
|
|
gamesContainer.innerHTML = ` |
|
|
<h2 class="text-xl font-semibold mb-4 col-span-full flex items-center"> |
|
|
<i class="fas fa-gamepad mr-2 text-purple-400"></i> Доступные игры |
|
|
</h2> |
|
|
`; |
|
|
|
|
|
|
|
|
gamesData[selectedCasino].forEach(game => { |
|
|
const gameCard = document.createElement('div'); |
|
|
gameCard.className = 'glass-card rounded-xl p-5 hover:bg-slate-800 transition-all cursor-pointer'; |
|
|
gameCard.dataset.gameId = game.id; |
|
|
gameCard.dataset.gameName = game.name; |
|
|
gameCard.dataset.lastActivity = game.lastActivity; |
|
|
gameCard.dataset.phase = game.phase; |
|
|
gameCard.dataset.phasePercent = game.phasePercent; |
|
|
|
|
|
const phaseClass = game.phase === 'payout' ? 'text-teal-400' : 'text-rose-400'; |
|
|
const phaseText = game.phase === 'payout' ? 'отдача' : 'холд'; |
|
|
|
|
|
gameCard.innerHTML = ` |
|
|
<div class="flex justify-between items-start mb-3"> |
|
|
<h3 class="font-bold text-lg">${game.name}</h3> |
|
|
<span class="text-xs bg-slate-700 px-2 py-1 rounded-full">${game.lastActivity}</span> |
|
|
</div> |
|
|
<div class="mb-4"> |
|
|
<div class="flex justify-between text-sm mb-1"> |
|
|
<span class="text-gray-400">Фаза:</span> |
|
|
<span class="${phaseClass} font-medium">${phaseText} (${game.phasePercent}%)</span> |
|
|
</div> |
|
|
<div class="phase-indicator h-1.5 w-full rounded-full bg-slate-700 ${game.phase}"></div> |
|
|
</div> |
|
|
<button class="w-full bg-gradient-to-r from-purple-500 to-blue-500 hover:from-purple-600 hover:to-blue-600 text-white py-2 px-4 rounded-lg flex items-center justify-center transition-all"> |
|
|
<i class="fas fa-chart-line mr-2"></i> Получить прогноз |
|
|
</button> |
|
|
`; |
|
|
|
|
|
gamesContainer.appendChild(gameCard); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('#gamesContainer .glass-card').forEach(card => { |
|
|
card.addEventListener('click', function() { |
|
|
showForecast( |
|
|
this.dataset.gameName, |
|
|
this.dataset.lastActivity, |
|
|
this.dataset.phase, |
|
|
this.dataset.phasePercent |
|
|
); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
backButton.addEventListener('click', function() { |
|
|
forecastContainer.classList.add('hidden'); |
|
|
gamesContainer.classList.remove('hidden'); |
|
|
}); |
|
|
|
|
|
|
|
|
function showForecast(gameName, lastActivity, phase, phasePercent) { |
|
|
|
|
|
document.getElementById('gameTitle').textContent = gameName; |
|
|
document.getElementById('lastUpdated').textContent = `Последнее обновление: ${lastActivity}`; |
|
|
|
|
|
const phaseText = phase === 'payout' ? 'отдача' : 'холд'; |
|
|
const phaseColor = phase === 'payout' ? 'teal' : 'rose'; |
|
|
document.getElementById('currentPhase').textContent = `Фаза: ${phaseText}`; |
|
|
document.getElementById('winProbability').textContent = `Вероятность: ${phasePercent}%`; |
|
|
|
|
|
|
|
|
document.getElementById('aiComment').textContent = aiComments[Math.floor(Math.random() * aiComments.length)]; |
|
|
|
|
|
|
|
|
const roundsTable = document.getElementById('roundsTable'); |
|
|
roundsTable.innerHTML = ''; |
|
|
|
|
|
recentRounds.forEach(round => { |
|
|
const row = document.createElement('tr'); |
|
|
const phaseClass = round.phase === 'payout' ? 'text-teal-400' : 'text-rose-400'; |
|
|
const phaseText = round.phase === 'payout' ? 'отдача' : 'холд'; |
|
|
|
|
|
row.innerHTML = ` |
|
|
<td class="py-2 px-4">${round.time}</td> |
|
|
<td class="py-2 px-4 font-medium">${round.multiplier}</td> |
|
|
<td class="py-2 px-4"><span class="${phaseClass}">${phaseText}</span></td> |
|
|
`; |
|
|
roundsTable.appendChild(row); |
|
|
}); |
|
|
|
|
|
|
|
|
gamesContainer.classList.add('hidden'); |
|
|
forecastContainer.classList.remove('hidden'); |
|
|
|
|
|
|
|
|
forecastContainer.scrollIntoView({ behavior: 'smooth' }); |
|
|
} |
|
|
|
|
|
|
|
|
setTimeout(() => { |
|
|
casinoSelect.value = "jet"; |
|
|
const event = new Event('change'); |
|
|
casinoSelect.dispatchEvent(event); |
|
|
}, 300); |
|
|
}); |
|
|
</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/phase10" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
|
</html> |