<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Site Bağlantı Hatası</title>
<script src="https://cdn.tailwindcss.com"></script>
<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: #f8fafc;
}
.pulse {
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.bounce {
animation: bounce 1s infinite;
}
@keyframes bounce {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-10px);
}
}
.spin-slow {
animation: spin 3s linear infinite;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.connection-line {
stroke-dasharray: 10;
animation: dash 1.5s linear infinite;
}
@keyframes dash {
to {
stroke-dashoffset: 20;
}
}
</style>
</head>
<body>
<div class="container mx-auto px-4 py-12 flex flex-col items-center justify-center min-h-screen">
<div class="w-full max-w-3xl bg-slate-800/50 backdrop-blur-lg rounded-2xl shadow-2xl overflow-hidden border border-slate-700/50">
<div class="p-6 md:p-8 flex flex-col items-center">
<!-- Error Icon -->
<div class="relative w-32 h-32 mb-6">
<svg class="w-full h-full" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="45" stroke="#334155" stroke-width="2" />
<circle cx="50" cy="50" r="45" stroke="#38bdf8" stroke-width="2" stroke-dasharray="283" stroke-dashoffset="100" class="pulse" />
<!-- Server Icon -->
<rect x="20" y="30" width="20" height="40" rx="2" fill="#475569" />
<rect x="22" y="34" width="16" height="2" rx="1" fill="#94a3b8" />
<rect x="22" y="40" width="16" height="2" rx="1" fill="#94a3b8" />
<rect x="22" y="46" width="16" height="2" rx="1" fill="#94a3b8" />
<!-- Connection Line -->
<path d="M40 50 H60" stroke="#ef4444" stroke-width="2" class="connection-line" />
<!-- Client Icon -->
<rect x="60" y="40" width="20" height="20" rx="2" fill="#475569" />
<rect x="65" y="45" width="10" height="10" rx="1" fill="#94a3b8" />
<!-- Warning Icon -->
<circle cx="50" cy="50" r="10" fill="#ef4444" class="pulse" />
<path d="M50 44 L50 52 M50 56 L50 56.1" stroke="white" stroke-width="2" stroke-linecap="round" />
</svg>
</div>
<!-- Error Title -->
<h1 class="text-4xl md:text-5xl font-bold text-center mb-4 bg-gradient-to-r from-sky-400 to-blue-500 bg-clip-text text-transparent" style="line-height: 1.4;">
Site Bağlantı Hatası
</h1>
<!-- Error Description -->
<div class="space-y-4 text-center max-w-2xl">
<p class="text-xl text-slate-300">
Sunucu bağlantı isteğine yanıt vermedi.
</p>
<div class="bg-slate-700/50 rounded-lg p-4 border border-slate-600/50">
<p class="text-slate-300 mb-2">
Bu hata genellikle şu durumlarda oluşur:
</p>
<ul class="text-slate-400 text-sm md:text-base list-disc list-inside text-left space-y-1">
<li>IP yönlendirmesi yapılmış ancak veritabanında aktif edilmemiş site</li>
<li>Web sunucusu çalışmıyor veya aşırı yüklenmiş</li>
<li>Bağlantı zaman aşımına uğradı</li>
<li>Ağ bağlantısı sorunları</li>
</ul>
</div>
</div>
<!-- Status Indicator -->
<div class="mt-8 flex items-center justify-center space-x-2 bg-slate-900/50 px-4 py-2 rounded-full border border-slate-700/50">
<span class="relative flex h-3 w-3">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-red-400 opacity-75"></span>
<span class="relative inline-flex rounded-full h-3 w-3 bg-red-500"></span>
</span>
<span class="text-slate-300 text-sm">Sunucu yanıt vermiyor</span>
</div>
<!-- Action Buttons -->
<div class="mt-8 flex flex-col md:flex-row gap-4">
<button onclick="window.location.reload()" class="px-6 py-3 bg-gradient-to-r from-sky-500 to-blue-600 hover:from-sky-600 hover:to-blue-700 text-white font-medium rounded-lg transition-all duration-200 flex items-center justify-center">
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-2 spin-slow" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" />
</svg>
Sayfayı Yenile
</button>
</div>
</div>
<!-- Footer -->
<div class="bg-slate-900/80 p-4 text-center text-slate-400 text-sm border-t border-slate-700/50">
<p>Bu sayfa, sunucu yanıt vermediğinde otomatik olarak görüntülenir.</p>
<p class="mt-1">Sorun devam ederse lütfen site yöneticisiyle iletişime geçin.</p>
</div>
</div>
<!-- Animated Background Elements -->
<div class="fixed inset-0 -z-10 overflow-hidden">
<div class="absolute top-1/4 left-1/4 w-32 h-32 bg-blue-500/10 rounded-full blur-3xl"></div>
<div class="absolute bottom-1/3 right-1/3 w-40 h-40 bg-sky-500/10 rounded-full blur-3xl"></div>
<div class="absolute top-2/3 left-1/2 w-36 h-36 bg-indigo-500/10 rounded-full blur-3xl"></div>
</div>
</div>
<script>
// Add a timer to show how long the page has been trying to connect
const startTime = new Date();
function updateTimer() {
const currentTime = new Date();
const elapsedSeconds = Math.floor((currentTime - startTime) / 1000);
const minutes = Math.floor(elapsedSeconds / 60);
const seconds = elapsedSeconds % 60;
const timerElement = document.querySelector('.text-slate-300.text-sm');
if (timerElement) {
timerElement.textContent = `Sunucu yanıt vermiyor (${minutes}:${seconds < 10 ? '0' : ''}${seconds})`;
}
setTimeout(updateTimer, 1000);
}
updateTimer();
</script>
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9413884fb791d2fa',t:'MTc0NzQ4OTI4OC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>