-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoffline.html
More file actions
149 lines (142 loc) · 4.54 KB
/
Copy pathoffline.html
File metadata and controls
149 lines (142 loc) · 4.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Baglanti Yok - Lumen</title>
<link rel="icon" type="image/png" href="/icon.png">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #6F1022 0%, #991b1b 100%);
color: #fff;
padding: 20px;
}
.container {
text-align: center;
max-width: 400px;
}
.icon {
width: 120px;
height: 120px;
margin: 0 auto 30px;
background: rgba(255,255,255,0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
animation: pulse 2s infinite;
}
.icon svg {
width: 60px;
height: 60px;
opacity: 0.9;
}
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.05); opacity: 0.8; }
}
h1 {
font-size: 24px;
font-weight: 600;
margin-bottom: 15px;
}
p {
font-size: 16px;
opacity: 0.9;
line-height: 1.6;
margin-bottom: 30px;
}
.btn {
display: inline-block;
padding: 14px 32px;
background: #fff;
color: #6F1022;
text-decoration: none;
border-radius: 12px;
font-weight: 600;
font-size: 16px;
transition: transform 0.2s, box-shadow 0.2s;
cursor: pointer;
border: none;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.btn:active {
transform: translateY(0);
}
.status {
margin-top: 30px;
font-size: 14px;
opacity: 0.7;
}
.status.online {
color: #4ade80;
opacity: 1;
}
.dot {
display: inline-block;
width: 8px;
height: 8px;
background: currentColor;
border-radius: 50%;
margin-right: 8px;
animation: blink 1.5s infinite;
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
</style>
</head>
<body>
<div class="container">
<div class="icon">
<svg fill="currentColor" viewBox="0 0 24 24">
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="none"/>
<path d="M23.64 7c-.45-.34-4.93-4-11.64-4C5.28 3 .81 6.66.36 7l10.08 12.56c.8 1 2.32 1 3.12 0L23.64 7z" opacity="0.3"/>
<path d="M21.98 11L12 22.56 2.02 11C2.02 11 5.6 8 12 8s9.98 3 9.98 3z"/>
<line x1="2" y1="2" x2="22" y2="22" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"/>
</svg>
</div>
<h1>Baglanti Yok</h1>
<p>Internet baglantiniz kesilmis gorunuyor. Baglanti kuruldugunda sayfa otomatik olarak yenilenecek.</p>
<button class="btn" onclick="window.location.reload()">
Tekrar Dene
</button>
<div class="status" id="status">
<span class="dot"></span>
Baglanti bekleniyor...
</div>
</div>
<script>
// Baglanti durumunu kontrol et
function checkConnection() {
if (navigator.onLine) {
document.getElementById('status').innerHTML = '<span class="dot" style="animation:none"></span> Baglanti kuruldu! Yonlendiriliyor...';
document.getElementById('status').classList.add('online');
setTimeout(() => {
window.location.reload();
}, 1000);
}
}
// Online oldugunda otomatik yenile
window.addEventListener('online', checkConnection);
// Sayfa yuklendiginde kontrol et
checkConnection();
// Her 5 saniyede bir kontrol et
setInterval(checkConnection, 5000);
</script>
</body>
</html>