samirerty commited on
Commit
c38963e
·
verified ·
1 Parent(s): 841ce61

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +573 -19
index.html CHANGED
@@ -1,19 +1,573 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="fa" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
6
+ <title>چت روم ساده | AnyCoder</title>
7
+ <!-- Importing FontAwesome for modern icons -->
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ :root {
11
+ /* iOS Color Palette */
12
+ --ios-bg-dark: #000000;
13
+ --ios-bg-gradient-start: #1c1c1e;
14
+ --ios-bg-gradient-end: #2c2c2e;
15
+ --glass-bg: rgba(255, 255, 255, 0.1);
16
+ --glass-border: rgba(255, 255, 255, 0.15);
17
+ --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
18
+ --text-primary: #ffffff;
19
+ --text-secondary: rgba(255, 255, 255, 0.7);
20
+ --accent-blue: #0a84ff;
21
+ --accent-purple: #bf5af2;
22
+ --accent-gradient: linear-gradient(135deg, #0a84ff, #bf5af2);
23
+ --blur-amount: 20px;
24
+ --card-radius: 24px;
25
+ --btn-radius: 50px;
26
+ }
27
+
28
+ * {
29
+ box-sizing: border-box;
30
+ margin: 0;
31
+ padding: 0;
32
+ -webkit-tap-highlight-color: transparent;
33
+ }
34
+
35
+ body {
36
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
37
+ background-color: var(--ios-bg-dark);
38
+ color: var(--text-primary);
39
+ min-height: 100vh;
40
+ overflow-x: hidden;
41
+ display: flex;
42
+ flex-direction: column;
43
+ position: relative;
44
+ }
45
+
46
+ /* Animated Background Blobs */
47
+ .background-blobs {
48
+ position: fixed;
49
+ top: 0;
50
+ left: 0;
51
+ width: 100%;
52
+ height: 100%;
53
+ z-index: -1;
54
+ overflow: hidden;
55
+ background: radial-gradient(circle at 50% 120%, #1a1a2e, #000000);
56
+ }
57
+
58
+ .blob {
59
+ position: absolute;
60
+ border-radius: 50%;
61
+ filter: blur(80px);
62
+ opacity: 0.6;
63
+ animation: float 10s infinite ease-in-out alternate;
64
+ }
65
+
66
+ .blob-1 {
67
+ top: -10%;
68
+ right: -10%;
69
+ width: 400px;
70
+ height: 400px;
71
+ background: var(--accent-blue);
72
+ animation-delay: 0s;
73
+ }
74
+
75
+ .blob-2 {
76
+ bottom: -10%;
77
+ left: -10%;
78
+ width: 350px;
79
+ height: 350px;
80
+ background: var(--accent-purple);
81
+ animation-delay: -5s;
82
+ }
83
+
84
+ .blob-3 {
85
+ top: 40%;
86
+ left: 30%;
87
+ width: 200px;
88
+ height: 200px;
89
+ background: #5e5ce6;
90
+ opacity: 0.4;
91
+ animation-duration: 15s;
92
+ }
93
+
94
+ @keyframes float {
95
+ 0% { transform: translate(0, 0) scale(1); }
96
+ 100% { transform: translate(30px, 50px) scale(1.1); }
97
+ }
98
+
99
+ /* Glassmorphism Utility Class */
100
+ .glass {
101
+ background: var(--glass-bg);
102
+ backdrop-filter: blur(var(--blur-amount));
103
+ -webkit-backdrop-filter: blur(var(--blur-amount));
104
+ border: 1px solid var(--glass-border);
105
+ box-shadow: var(--glass-shadow);
106
+ }
107
+
108
+ /* Header / Nav */
109
+ header {
110
+ padding: 20px;
111
+ display: flex;
112
+ justify-content: space-between;
113
+ align-items: center;
114
+ position: sticky;
115
+ top: 0;
116
+ z-index: 100;
117
+ }
118
+
119
+ .brand {
120
+ font-size: 1.2rem;
121
+ font-weight: 700;
122
+ letter-spacing: -0.5px;
123
+ display: flex;
124
+ align-items: center;
125
+ gap: 10px;
126
+ }
127
+
128
+ .user-menu {
129
+ display: flex;
130
+ align-items: center;
131
+ gap: 15px;
132
+ }
133
+
134
+ .user-info {
135
+ text-align: left;
136
+ font-size: 0.85rem;
137
+ }
138
+
139
+ .user-name {
140
+ font-weight: 600;
141
+ display: block;
142
+ }
143
+
144
+ .user-status {
145
+ font-size: 0.75rem;
146
+ color: var(--text-secondary);
147
+ }
148
+
149
+ .avatar {
150
+ width: 40px;
151
+ height: 40px;
152
+ border-radius: 50%;
153
+ background: linear-gradient(135deg, #ff9f0a, #ff453a);
154
+ display: flex;
155
+ align-items: center;
156
+ justify-content: center;
157
+ font-weight: bold;
158
+ font-size: 1.1rem;
159
+ border: 2px solid rgba(255,255,255,0.2);
160
+ }
161
+
162
+ .logout-btn {
163
+ background: transparent;
164
+ border: none;
165
+ color: var(--text-secondary);
166
+ cursor: pointer;
167
+ transition: color 0.3s;
168
+ }
169
+
170
+ .logout-btn:hover {
171
+ color: #ff453a;
172
+ }
173
+
174
+ /* Main Container */
175
+ .container {
176
+ flex: 1;
177
+ display: flex;
178
+ flex-direction: column;
179
+ align-items: center;
180
+ justify-content: center;
181
+ padding: 40px 20px;
182
+ width: 100%;
183
+ max-width: 1200px;
184
+ margin: 0 auto;
185
+ }
186
+
187
+ /* Hero Section */
188
+ .hero {
189
+ text-align: center;
190
+ margin-bottom: 60px;
191
+ animation: fadeInDown 1s ease-out;
192
+ }
193
+
194
+ .hero h1 {
195
+ font-size: 3rem;
196
+ font-weight: 800;
197
+ margin-bottom: 15px;
198
+ background: var(--accent-gradient);
199
+ -webkit-background-clip: text;
200
+ -webkit-text-fill-color: transparent;
201
+ letter-spacing: -1px;
202
+ }
203
+
204
+ .subtitle {
205
+ font-size: 1.2rem;
206
+ color: var(--text-secondary);
207
+ font-weight: 400;
208
+ }
209
+
210
+ /* Features Grid */
211
+ .features {
212
+ display: grid;
213
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
214
+ gap: 25px;
215
+ width: 100%;
216
+ margin-bottom: 60px;
217
+ }
218
+
219
+ .feature {
220
+ border-radius: var(--card-radius);
221
+ padding: 30px;
222
+ text-align: center;
223
+ transition: transform 0.3s ease, background 0.3s ease;
224
+ position: relative;
225
+ overflow: hidden;
226
+ animation: fadeInUp 0.8s ease-out backwards;
227
+ }
228
+
229
+ .feature:nth-child(1) { animation-delay: 0.1s; }
230
+ .feature:nth-child(2) { animation-delay: 0.2s; }
231
+ .feature:nth-child(3) { animation-delay: 0.3s; }
232
+
233
+ .feature:hover {
234
+ transform: translateY(-10px);
235
+ background: rgba(255, 255, 255, 0.15);
236
+ }
237
+
238
+ .icon-wrapper {
239
+ width: 70px;
240
+ height: 70px;
241
+ border-radius: 20px;
242
+ margin: 0 auto 20px;
243
+ display: flex;
244
+ align-items: center;
245
+ justify-content: center;
246
+ font-size: 1.8rem;
247
+ position: relative;
248
+ background: rgba(255, 255, 255, 0.05);
249
+ backdrop-filter: blur(10px);
250
+ border: 1px solid rgba(255,255,255,0.1);
251
+ }
252
+
253
+ /* Icon Gradients */
254
+ .feature:nth-child(1) .icon-wrapper { color: #30d158; background: linear-gradient(135deg, rgba(48, 209, 88, 0.2), rgba(48, 209, 88, 0.05)); }
255
+ .feature:nth-child(2) .icon-wrapper { color: #0a84ff; background: linear-gradient(135deg, rgba(10, 132, 255, 0.2), rgba(10, 132, 255, 0.05)); }
256
+ .feature:nth-child(3) .icon-wrapper { color: #bf5af2; background: linear-gradient(135deg, rgba(191, 90, 242, 0.2), rgba(191, 90, 242, 0.05)); }
257
+
258
+ .feature h3 {
259
+ font-size: 1.3rem;
260
+ margin-bottom: 10px;
261
+ font-weight: 600;
262
+ }
263
+
264
+ .feature p {
265
+ color: var(--text-secondary);
266
+ font-size: 0.95rem;
267
+ line-height: 1.5;
268
+ }
269
+
270
+ /* CTA Section */
271
+ .cta {
272
+ display: flex;
273
+ gap: 20px;
274
+ flex-wrap: wrap;
275
+ justify-content: center;
276
+ animation: fadeInUp 1s ease-out backwards;
277
+ animation-delay: 0.4s;
278
+ width: 100%;
279
+ }
280
+
281
+ .btn {
282
+ padding: 16px 40px;
283
+ border-radius: var(--btn-radius);
284
+ text-decoration: none;
285
+ font-weight: 600;
286
+ font-size: 1.1rem;
287
+ transition: all 0.3s ease;
288
+ display: inline-flex;
289
+ align-items: center;
290
+ gap: 10px;
291
+ min-width: 160px;
292
+ justify-content: center;
293
+ }
294
+
295
+ .btn-primary {
296
+ background: var(--accent-gradient);
297
+ color: white;
298
+ box-shadow: 0 4px 15px rgba(10, 132, 255, 0.4);
299
+ border: none;
300
+ }
301
+
302
+ .btn-primary:hover {
303
+ transform: scale(1.05);
304
+ box-shadow: 0 8px 25px rgba(10, 132, 255, 0.6);
305
+ }
306
+
307
+ .btn-secondary {
308
+ background: rgba(255, 255, 255, 0.1);
309
+ color: white;
310
+ border: 1px solid rgba(255, 255, 255, 0.2);
311
+ backdrop-filter: blur(10px);
312
+ }
313
+
314
+ .btn-secondary:hover {
315
+ background: rgba(255, 255, 255, 0.2);
316
+ transform: scale(1.05);
317
+ }
318
+
319
+ /* Footer / Attribution */
320
+ .footer {
321
+ padding: 20px;
322
+ text-align: center;
323
+ width: 100%;
324
+ font-size: 0.8rem;
325
+ color: var(--text-secondary);
326
+ z-index: 10;
327
+ }
328
+
329
+ .footer a {
330
+ color: var(--accent-blue);
331
+ text-decoration: none;
332
+ font-weight: 600;
333
+ }
334
+
335
+ .footer a:hover {
336
+ text-decoration: underline;
337
+ }
338
+
339
+ /* Modal Styles (Simulating PHP pages) */
340
+ .modal-overlay {
341
+ position: fixed;
342
+ top: 0;
343
+ left: 0;
344
+ width: 100%;
345
+ height: 100%;
346
+ background: rgba(0, 0, 0, 0.6);
347
+ backdrop-filter: blur(5px);
348
+ z-index: 1000;
349
+ display: flex;
350
+ justify-content: center;
351
+ align-items: center;
352
+ opacity: 0;
353
+ pointer-events: none;
354
+ transition: opacity 0.3s ease;
355
+ }
356
+
357
+ .modal-overlay.active {
358
+ opacity: 1;
359
+ pointer-events: all;
360
+ }
361
+
362
+ .modal {
363
+ width: 90%;
364
+ max-width: 400px;
365
+ padding: 30px;
366
+ border-radius: var(--card-radius);
367
+ transform: scale(0.9);
368
+ transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
369
+ text-align: center;
370
+ }
371
+
372
+ .modal-overlay.active .modal {
373
+ transform: scale(1);
374
+ }
375
+
376
+ .modal h2 {
377
+ margin-bottom: 20px;
378
+ }
379
+
380
+ .close-modal {
381
+ margin-top: 20px;
382
+ background: transparent;
383
+ border: 1px solid rgba(255,255,255,0.3);
384
+ color: white;
385
+ padding: 10px 20px;
386
+ border-radius: 20px;
387
+ cursor: pointer;
388
+ }
389
+
390
+ /* Animations */
391
+ @keyframes fadeInDown {
392
+ from { opacity: 0; transform: translateY(-30px); }
393
+ to { opacity: 1; transform: translateY(0); }
394
+ }
395
+
396
+ @keyframes fadeInUp {
397
+ from { opacity: 0; transform: translateY(30px); }
398
+ to { opacity: 1; transform: translateY(0); }
399
+ }
400
+
401
+ /* Responsive */
402
+ @media (max-width: 768px) {
403
+ .hero h1 { font-size: 2.2rem; }
404
+ .features { grid-template-columns: 1fr; }
405
+ .cta { flex-direction: column; width: 100%; }
406
+ .btn { width: 100%; }
407
+ .header { padding: 15px; }
408
+ .user-info { display: none; } /* Hide name on mobile for space */
409
+ }
410
+ </style>
411
+ </head>
412
+ <body>
413
+
414
+ <!-- Background Elements -->
415
+ <div class="background-blobs">
416
+ <div class="blob blob-1"></div>
417
+ <div class="blob blob-2"></div>
418
+ <div class="blob blob-3"></div>
419
+ </div>
420
+
421
+ <!-- Navigation / Header -->
422
+ <header class="glass">
423
+ <div class="brand">
424
+ <i class="fa-solid fa-cube" style="color: var(--accent-blue);"></i>
425
+ AnyCoder
426
+ </div>
427
+ <div class="user-menu">
428
+ <div class="user-info">
429
+ <span class="user-name">saertymati</span>
430
+ <span class="user-status">samirerty</span>
431
+ </div>
432
+ <div class="avatar">S</div>
433
+ <button class="logout-btn" title="Logout">
434
+ <i class="fa-solid fa-arrow-right-from-bracket"></i>
435
+ </button>
436
+ </div>
437
+ </header>
438
+
439
+ <!-- Main Content -->
440
+ <div class="container">
441
+ <div class="hero">
442
+ <h1>💬 چت روم ساده</h1>
443
+ <p class="subtitle">محلی برای گفتگو با دوستان</p>
444
+ </div>
445
+
446
+ <div class="features">
447
+ <div class="feature glass">
448
+ <div class="icon-wrapper">
449
+ <i class="fa-solid fa-lock"></i>
450
+ </div>
451
+ <h3>ثبت‌نام آسان</h3>
452
+ <p>با شماره موبایل ثبت‌نام کنید</p>
453
+ </div>
454
+
455
+ <div class="feature glass">
456
+ <div class="icon-wrapper">
457
+ <i class="fa-solid fa-users"></i>
458
+ </div>
459
+ <h3>ساخت اتاق</h3>
460
+ <p>تا ۳ اتاق مختلف بسازید</p>
461
+ </div>
462
+
463
+ <div class="feature glass">
464
+ <div class="icon-wrapper">
465
+ <i class="fa-solid fa-comments"></i>
466
+ </div>
467
+ <h3>چت زنده</h3>
468
+ <p>گفتگوی آنلاین و سریع</p>
469
+ </div>
470
+ </div>
471
+
472
+ <div class="cta">
473
+ <!-- Using onclick to show modal instead of actual PHP link for demo purposes -->
474
+ <a href="#" class="btn btn-primary" onclick="openModal('register')">شروع کنید</a>
475
+ <a href="#" class="btn btn-secondary" onclick="openModal('login')">ورود</a>
476
+ </div>
477
+ </div>
478
+
479
+ <!-- Footer Attribution -->
480
+ <footer class="footer">
481
+ <p>Built with <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">anycoder</a></p>
482
+ </footer>
483
+
484
+ <!-- Interactive Modals (Simulating Backend Pages) -->
485
+ <div class="modal-overlay" id="modalOverlay">
486
+ <div class="modal glass">
487
+ <div id="modalContent">
488
+ <!-- Content injected via JS -->
489
+ </div>
490
+ <button class="close-modal" onclick="closeModal()">بستن</button>
491
+ </div>
492
+ </div>
493
+
494
+ <script>
495
+ // Modal Logic
496
+ const modalOverlay = document.getElementById('modalOverlay');
497
+ const modalContent = document.getElementById('modalContent');
498
+
499
+ function openModal(type) {
500
+ event.preventDefault();
501
+ modalOverlay.classList.add('active');
502
+
503
+ if (type === 'register') {
504
+ modalContent.innerHTML = `
505
+ <div class="icon-wrapper" style="margin-bottom:15px; color:#30d158; background:rgba(48,209,88,0.1);">
506
+ <i class="fa-solid fa-user-plus"></i>
507
+ </div>
508
+ <h2>ثبت‌نام</h2>
509
+ <p style="color: rgba(255,255,255,0.7); margin-bottom: 15px;">برای شروع گفتگو ثبت‌نام کنید</p>
510
+ <button class="btn btn-primary" style="width:100%; font-size:0.9rem;">ادامه با شماره</button>
511
+ `;
512
+ } else if (type === 'login') {
513
+ modalContent.innerHTML = `
514
+ <div class="icon-wrapper" style="margin-bottom:15px; color:#0a84ff; background:rgba(10,132,255,0.1);">
515
+ <i class="fa-solid fa-right-to-bracket"></i>
516
+ </div>
517
+ <h2>ورود</h2>
518
+ <p style="color: rgba(255,255,255,0.7); margin-bottom: 15px;">به حساب کاربری خود وارد شوید</p>
519
+ <button class="btn btn-primary" style="width:100%; font-size:0.9rem;">ورود</button>
520
+ `;
521
+ }
522
+ }
523
+
524
+ function closeModal() {
525
+ modalOverlay.classList.remove('active');
526
+ }
527
+
528
+ // Close modal on outside click
529
+ modalOverlay.addEventListener('click', (e) => {
530
+ if (e.target === modalOverlay) {
531
+ closeModal();
532
+ }
533
+ });
534
+
535
+ // Interactive Tilt Effect for Cards (3D feel)
536
+ const cards = document.querySelectorAll('.feature');
537
+
538
+ cards.forEach(card => {
539
+ card.addEventListener('mousemove', (e) => {
540
+ const rect = card.getBoundingClientRect();
541
+ const x = e.clientX - rect.left;
542
+ const y = e.clientY - rect.top;
543
+
544
+ const centerX = rect.width / 2;
545
+ const centerY = rect.height / 2;
546
+
547
+ const rotateX = ((y - centerY) / centerY) * -5; // Max 5deg rotation
548
+ const rotateY = ((x - centerX) / centerX) * 5;
549
+
550
+ card.style.transform = `perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(1.02)`;
551
+ });
552
+
553
+ card.addEventListener('mouseleave', () => {
554
+ card.style.transform = 'perspective(1000px) rotateX(0) rotateY(0) scale(1)';
555
+ });
556
+ });
557
+
558
+ // Parallax Effect for Background Blobs
559
+ document.addEventListener('mousemove', (e) => {
560
+ const x = e.clientX / window.innerWidth;
561
+ const y = e.clientY / window.innerHeight;
562
+
563
+ const blob1 = document.querySelector('.blob-1');
564
+ const blob2 = document.querySelector('.blob-2');
565
+ const blob3 = document.querySelector('.blob-3');
566
+
567
+ blob1.style.transform = `translate(${x * 30}px, ${y * 30}px)`;
568
+ blob2.style.transform = `translate(-${x * 30}px, -${y * 30}px)`;
569
+ blob3.style.transform = `translate(${x * 15}px, -${y * 15}px)`;
570
+ });
571
+ </script>
572
+ </body>
573
+ </html>