Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
95 lines (91 loc) · 5.89 KB
/
Copy pathindex.html
File metadata and controls
95 lines (91 loc) · 5.89 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
<!doctype html>
<html lang="ar" dir="rtl" class="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>FileFly - النقل السريع للملفات عبر الشبكة المحلية</title>
<!-- Google Fonts: Tajawal (Loaded asynchronously to prevent any blank screen render delay) -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;900&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
<noscript>
<link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;900&display=swap" rel="stylesheet">
</noscript>
<!-- Favicon & PWA meta -->
<link rel="manifest" href="/manifest.json" />
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
<link rel="apple-touch-icon" href="/icon-192.png" />
<meta name="theme-color" content="#020617" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="FileFly">
<style>
/* Prevent text selection and unwanted drag defaults */
html, body {
background-color: #020617;
color: #f8fafc;
user-select: none;
-webkit-user-select: none;
overflow-x: hidden;
margin: 0;
padding: 0;
}
@keyframes pulseSlow {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.7; transform: scale(0.96); }
}
.instant-loader {
animation: pulseSlow 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
</style>
</head>
<body class="bg-slate-950 text-slate-100 font-sans antialiased min-h-screen selection:bg-brand-500 selection:text-white">
<div id="root">
<!-- Instant Zero-Delay Splash Screen & Offline Detector -->
<div id="filefly-preloader" style="min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #020617; color: #f8fafc; font-family: system-ui, -apple-system, sans-serif; padding: 20px; box-sizing: border-box; text-align: center;">
<div id="loader-spinner" style="display: flex; flex-direction: column; align-items: center;">
<div class="instant-loader" style="position: relative; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 20px; background: linear-gradient(135deg, #0284c7, #0ea5e9, #2563eb); box-shadow: 0 8px 32px rgba(14, 165, 233, 0.4); margin-bottom: 16px;">
<svg width="34" height="34" viewBox="0 0 24 24" fill="#ffffff" stroke="#ffffff" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round">
<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon>
</svg>
</div>
<div style="font-size: 20px; font-weight: 800; letter-spacing: 0.05em; color: #ffffff; margin-bottom: 6px;">FileFly</div>
<div style="font-size: 12px; color: #64748b;">جاري التحميل...</div>
</div>
<!-- Offline Server Notice (triggers automatically if server is unreachable) -->
<div id="loader-offline" style="display: none; max-width: 380px; width: 100%; background: rgba(15, 23, 42, 0.95); border: 1px solid rgba(244, 63, 94, 0.35); border-radius: 24px; padding: 24px; box-shadow: 0 20px 50px rgba(0,0,0,0.6);">
<div style="width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 18px; background: rgba(244, 63, 94, 0.15); border: 1px solid rgba(244, 63, 94, 0.35); display: flex; align-items: center; justify-content: center; color: #fb7185;">
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
<line x1="8" y1="21" x2="16" y2="21"></line>
<line x1="12" y1="17" x2="12" y2="21"></line>
</svg>
</div>
<div style="font-size: 18px; font-weight: bold; color: #ffffff; margin-bottom: 8px;">السيرفر متوقف حالياً</div>
<div style="font-size: 13px; color: #fecdd3; background: rgba(136, 19, 55, 0.45); border: 1px solid rgba(244, 63, 94, 0.25); border-radius: 12px; padding: 12px; margin-bottom: 14px; line-height: 1.6;">
يجب تشغيل تطبيق <strong>FileFly</strong> من جهاز الحاسوب أولاً حتى تعمل الخدمة.
</div>
<div style="font-size: 12px; color: #94a3b8; text-align: right; line-height: 1.8; margin-bottom: 18px;">
<div>• شغّل تطبيق FileFly على الكمبيوتر من شريط المهام.</div>
<div>• تأكد من اتصال الهاتف والحاسوب بنفس شبكة الواي فاي.</div>
</div>
<button onclick="window.location.reload()" style="width: 100%; padding: 12px; border-radius: 12px; background: linear-gradient(to right, #0284c7, #2563eb); color: #ffffff; border: none; font-size: 14px; font-weight: bold; cursor: pointer;">
إعادة المحاولة
</button>
</div>
</div>
</div>
<script>
window.fileflyOfflineTimer = setTimeout(function() {
var spinner = document.getElementById('loader-spinner');
var offline = document.getElementById('loader-offline');
if (spinner && offline) {
spinner.style.display = 'none';
offline.style.display = 'block';
}
}, 7000);
</script>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>