phase10 / index.html
timoon811's picture
Add 3 files
a0f8ef1 verified
<!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">
<!-- Demo badge -->
<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">
<!-- Header -->
<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>
<!-- Casino selection -->
<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>
<!-- Games list -->
<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>
<!-- Games will be inserted here by JavaScript -->
</div>
<!-- Forecast section -->
<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>
<!-- Graph -->
<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>
<!-- AI Comment -->
<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>
<!-- Recent rounds -->
<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">
<!-- Rounds will be inserted here by JavaScript -->
</tbody>
</table>
</div>
</div>
<!-- CTA Block -->
<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() {
// Casino select change handler
const casinoSelect = document.getElementById('casinoSelect');
const gamesContainer = document.getElementById('gamesContainer');
const forecastContainer = document.getElementById('forecastContainer');
const backButton = document.getElementById('backButton');
// Sample games data
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 }
]
};
// AI comments for games
const aiComments = [
"На основе последних 50 раундов вероятен рост коэффициента на 120–180% в ближайшие 7 запусков.",
"Система обнаружила паттерн отдачи с высокой вероятностью успеха в ближайшие 5 минут.",
"После продолжительного холда игра перешла в фазу отдачи - оптимальное время для ставок.",
"Анализ показывает 78% вероятность успешных ставок в ближайшие 3 минуты.",
"Резкое снижение холда в последних раундах указывает на скорую фазу отдачи.",
"Статистика по игре показывает стабильную отдачу в этот временной промежуток."
];
// Recent rounds data
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" }
];
// Casino select handler
casinoSelect.addEventListener('change', function() {
const selectedCasino = this.value;
if (selectedCasino) {
// Show games container
gamesContainer.classList.remove('hidden');
// Clear previous games
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>
`;
// Add games for selected casino
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);
});
// Add click handlers to game cards
document.querySelectorAll('#gamesContainer .glass-card').forEach(card => {
card.addEventListener('click', function() {
showForecast(
this.dataset.gameName,
this.dataset.lastActivity,
this.dataset.phase,
this.dataset.phasePercent
);
});
});
}
});
// Back button handler
backButton.addEventListener('click', function() {
forecastContainer.classList.add('hidden');
gamesContainer.classList.remove('hidden');
});
// Show forecast function
function showForecast(gameName, lastActivity, phase, phasePercent) {
// Update forecast container data
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}%`;
// Set random AI comment
document.getElementById('aiComment').textContent = aiComments[Math.floor(Math.random() * aiComments.length)];
// Update recent rounds table
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);
});
// Show forecast and hide games
gamesContainer.classList.add('hidden');
forecastContainer.classList.remove('hidden');
// Scroll to forecast
forecastContainer.scrollIntoView({ behavior: 'smooth' });
}
// Simulate initial selection for demo purposes
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>