samirerty commited on
Commit
4189d8b
·
verified ·
1 Parent(s): c6f2d65

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +661 -19
index.html CHANGED
@@ -1,19 +1,661 @@
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">
6
+ <title>بازخورد ناشناس محترمانه | اسپری محترمانه</title>
7
+
8
+ <!-- Import Fonts: Vazirmatn for Persian and Poppins for English numbers/symbols -->
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&family=Vazirmatn:wght@300;400;700&display=swap" rel="stylesheet">
12
+
13
+ <!-- Import Icons: RemixIcon -->
14
+ <link href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" rel="stylesheet">
15
+
16
+ <style>
17
+ /* --- CSS Variables & Reset --- */
18
+ :root {
19
+ --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
20
+ --glass-bg: rgba(255, 255, 255, 0.1);
21
+ --glass-border: rgba(255, 255, 255, 0.2);
22
+ --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
23
+ --text-color: #ffffff;
24
+ --text-muted: rgba(255, 255, 255, 0.7);
25
+ --accent-good: #00d2ff;
26
+ --accent-bad: #ff6b6b;
27
+ --bg-dark: #0f172a;
28
+ }
29
+
30
+ * {
31
+ box-sizing: border-box;
32
+ margin: 0;
33
+ padding: 0;
34
+ outline: none;
35
+ }
36
+
37
+ body {
38
+ font-family: 'Vazirmatn', sans-serif;
39
+ background: var(--bg-dark);
40
+ background-image:
41
+ radial-gradient(circle at 10% 20%, rgba(118, 75, 162, 0.4) 0%, transparent 40%),
42
+ radial-gradient(circle at 90% 80%, rgba(102, 126, 234, 0.4) 0%, transparent 40%);
43
+ color: var(--text-color);
44
+ min-height: 100vh;
45
+ overflow-x: hidden;
46
+ line-height: 1.6;
47
+ }
48
+
49
+ /* --- Global Classes --- */
50
+ .container {
51
+ max-width: 1200px;
52
+ margin: 0 auto;
53
+ padding: 0 20px;
54
+ }
55
+
56
+ .glass-panel {
57
+ background: var(--glass-bg);
58
+ backdrop-filter: blur(12px);
59
+ -webkit-backdrop-filter: blur(12px);
60
+ border: 1px solid var(--glass-border);
61
+ box-shadow: var(--glass-shadow);
62
+ border-radius: 20px;
63
+ }
64
+
65
+ .btn {
66
+ cursor: pointer;
67
+ border: none;
68
+ padding: 12px 24px;
69
+ border-radius: 12px;
70
+ font-family: 'Vazirmatn', sans-serif;
71
+ font-weight: 600;
72
+ transition: all 0.3s ease;
73
+ display: inline-flex;
74
+ align-items: center;
75
+ justify-content: center;
76
+ gap: 8px;
77
+ }
78
+
79
+ .gradient-text {
80
+ background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
81
+ -webkit-background-clip: text;
82
+ -webkit-text-fill-color: transparent;
83
+ }
84
+
85
+ /* --- Animations --- */
86
+ .fade-in-up {
87
+ opacity: 0;
88
+ transform: translateY(30px);
89
+ transition: opacity 0.8s ease-out, transform 0.8s ease-out;
90
+ }
91
+
92
+ .fade-in-up.visible {
93
+ opacity: 1;
94
+ transform: translateY(0);
95
+ }
96
+
97
+ @keyframes float {
98
+ 0% { transform: translateY(0px); }
99
+ 50% { transform: translateY(-20px); }
100
+ 100% { transform: translateY(0px); }
101
+ }
102
+
103
+ .floating-orb {
104
+ position: fixed;
105
+ border-radius: 50%;
106
+ filter: blur(80px);
107
+ z-index: -1;
108
+ animation: float 6s ease-in-out infinite;
109
+ }
110
+
111
+ /* --- Header --- */
112
+ header {
113
+ padding: 20px 0;
114
+ position: fixed;
115
+ width: 100%;
116
+ top: 0;
117
+ z-index: 1000;
118
+ transition: background 0.3s;
119
+ }
120
+
121
+ header.scrolled {
122
+ background: rgba(15, 23, 42, 0.8);
123
+ backdrop-filter: blur(10px);
124
+ border-bottom: 1px solid var(--glass-border);
125
+ }
126
+
127
+ .nav-wrapper {
128
+ display: flex;
129
+ justify-content: space-between;
130
+ align-items: center;
131
+ }
132
+
133
+ .logo {
134
+ font-size: 1.5rem;
135
+ font-weight: 700;
136
+ display: flex;
137
+ align-items: center;
138
+ gap: 10px;
139
+ }
140
+
141
+ .built-with {
142
+ font-size: 0.9rem;
143
+ color: var(--text-muted);
144
+ text-decoration: none;
145
+ transition: color 0.3s;
146
+ font-family: 'Poppins', sans-serif;
147
+ }
148
+
149
+ .built-with:hover {
150
+ color: #00f2fe;
151
+ }
152
+
153
+ /* --- Hero Section --- */
154
+ .hero {
155
+ padding: 160px 0 80px;
156
+ text-align: center;
157
+ }
158
+
159
+ .hero h1 {
160
+ font-size: 3rem;
161
+ margin-bottom: 20px;
162
+ line-height: 1.2;
163
+ }
164
+
165
+ .hero p {
166
+ font-size: 1.2rem;
167
+ color: var(--text-muted);
168
+ max-width: 600px;
169
+ margin: 0 auto 50px;
170
+ }
171
+
172
+ /* --- Selection Cards --- */
173
+ .selection-grid {
174
+ display: grid;
175
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
176
+ gap: 30px;
177
+ margin-bottom: 80px;
178
+ }
179
+
180
+ .select-card {
181
+ padding: 40px;
182
+ text-align: center;
183
+ cursor: pointer;
184
+ transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
185
+ position: relative;
186
+ overflow: hidden;
187
+ }
188
+
189
+ .select-card:hover {
190
+ transform: scale(1.05) translateY(-10px);
191
+ background: rgba(255, 255, 255, 0.15);
192
+ border-color: rgba(255, 255, 255, 0.4);
193
+ }
194
+
195
+ .select-card i {
196
+ font-size: 4rem;
197
+ margin-bottom: 20px;
198
+ display: block;
199
+ }
200
+
201
+ .select-card h3 {
202
+ font-size: 1.5rem;
203
+ margin-bottom: 10px;
204
+ }
205
+
206
+ .card-good i { color: var(--accent-good); text-shadow: 0 0 20px rgba(0, 210, 255, 0.5); }
207
+ .card-bad i { color: var(--accent-bad); text-shadow: 0 0 20px rgba(255, 107, 107, 0.5); }
208
+
209
+ /* --- Form Section --- */
210
+ .form-section {
211
+ display: none; /* Hidden by default */
212
+ max-width: 600px;
213
+ margin: 0 auto 100px;
214
+ position: relative;
215
+ }
216
+
217
+ .form-section.active {
218
+ display: block;
219
+ animation: fadeIn 0.5s ease-out;
220
+ }
221
+
222
+ @keyframes fadeIn {
223
+ from { opacity: 0; transform: translateY(20px); }
224
+ to { opacity: 1; transform: translateY(0); }
225
+ }
226
+
227
+ .form-header {
228
+ display: flex;
229
+ justify-content: space-between;
230
+ align-items: center;
231
+ margin-bottom: 30px;
232
+ }
233
+
234
+ .back-btn {
235
+ background: transparent;
236
+ color: var(--text-muted);
237
+ border: 1px solid var(--glass-border);
238
+ padding: 8px 16px;
239
+ }
240
+
241
+ .back-btn:hover {
242
+ color: white;
243
+ border-color: white;
244
+ }
245
+
246
+ .form-group {
247
+ margin-bottom: 20px;
248
+ }
249
+
250
+ .form-group label {
251
+ display: block;
252
+ margin-bottom: 8px;
253
+ font-weight: 500;
254
+ }
255
+
256
+ .form-control {
257
+ width: 100%;
258
+ padding: 15px;
259
+ background: rgba(0, 0, 0, 0.2);
260
+ border: 1px solid var(--glass-border);
261
+ border-radius: 12px;
262
+ color: white;
263
+ font-family: 'Vazirmatn', sans-serif;
264
+ font-size: 1rem;
265
+ transition: all 0.3s;
266
+ }
267
+
268
+ .form-control:focus {
269
+ border-color: #00f2fe;
270
+ box-shadow: 0 0 15px rgba(0, 242, 254, 0.2);
271
+ background: rgba(0, 0, 0, 0.4);
272
+ }
273
+
274
+ .submit-btn {
275
+ width: 100%;
276
+ background: var(--primary-gradient);
277
+ color: white;
278
+ font-size: 1.1rem;
279
+ padding: 15px;
280
+ margin-top: 10px;
281
+ }
282
+
283
+ .submit-btn:hover {
284
+ box-shadow: 0 0 20px rgba(118, 75, 162, 0.6);
285
+ }
286
+
287
+ /* --- Success Message --- */
288
+ .success-message {
289
+ display: none;
290
+ text-align: center;
291
+ padding: 40px;
292
+ }
293
+
294
+ .success-icon {
295
+ font-size: 5rem;
296
+ color: #00f2fe;
297
+ margin-bottom: 20px;
298
+ animation: scaleIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
299
+ }
300
+
301
+ @keyframes scaleIn {
302
+ from { transform: scale(0); }
303
+ to { transform: scale(1); }
304
+ }
305
+
306
+ /* --- How It Works --- */
307
+ .how-it-works {
308
+ padding: 80px 0;
309
+ text-align: center;
310
+ }
311
+
312
+ .steps-container {
313
+ display: flex;
314
+ justify-content: center;
315
+ flex-wrap: wrap;
316
+ gap: 40px;
317
+ margin-top: 50px;
318
+ }
319
+
320
+ .step-item {
321
+ flex: 1;
322
+ min-width: 250px;
323
+ max-width: 300px;
324
+ }
325
+
326
+ .step-icon-box {
327
+ width: 80px;
328
+ height: 80px;
329
+ margin: 0 auto 20px;
330
+ background: rgba(255, 255, 255, 0.05);
331
+ border-radius: 50%;
332
+ display: flex;
333
+ align-items: center;
334
+ justify-content: center;
335
+ font-size: 2rem;
336
+ border: 1px solid var(--glass-border);
337
+ position: relative;
338
+ }
339
+
340
+ .step-number {
341
+ position: absolute;
342
+ top: -5px;
343
+ right: -5px;
344
+ width: 25px;
345
+ height: 25px;
346
+ background: var(--primary-gradient);
347
+ border-radius: 50%;
348
+ font-size: 0.8rem;
349
+ display: flex;
350
+ align-items: center;
351
+ justify-content: center;
352
+ font-family: 'Poppins', sans-serif;
353
+ }
354
+
355
+ /* --- Footer --- */
356
+ footer {
357
+ border-top: 1px solid var(--glass-border);
358
+ padding: 40px 0;
359
+ margin-top: 60px;
360
+ background: rgba(0, 0, 0, 0.2);
361
+ }
362
+
363
+ .footer-content {
364
+ display: flex;
365
+ justify-content: space-between;
366
+ align-items: center;
367
+ flex-wrap: wrap;
368
+ gap: 20px;
369
+ }
370
+
371
+ .footer-links a {
372
+ color: var(--text-muted);
373
+ text-decoration: none;
374
+ margin-right: 20px;
375
+ transition: color 0.3s;
376
+ }
377
+
378
+ .footer-links a:hover {
379
+ color: white;
380
+ }
381
+
382
+ /* --- Responsive --- */
383
+ @media (max-width: 768px) {
384
+ .hero h1 { font-size: 2rem; }
385
+ .select-card { padding: 30px 20px; }
386
+ .footer-content { flex-direction: column; text-align: center; }
387
+ .footer-links a { margin: 0 10px; }
388
+ }
389
+ </style>
390
+ </head>
391
+ <body>
392
+
393
+ <!-- Background Elements -->
394
+ <div class="floating-orb" style="width: 300px; height: 300px; background: #764ba2; top: 10%; left: -100px;"></div>
395
+ <div class="floating-orb" style="width: 400px; height: 400px; background: #4facfe; bottom: 10%; right: -150px; animation-delay: 2s;"></div>
396
+
397
+ <!-- Header -->
398
+ <header id="main-header">
399
+ <div class="container nav-wrapper">
400
+ <div class="logo">
401
+ <i class="ri-scent-line" style="color: #00f2fe;"></i>
402
+ <span>اسپری محترمانه</span>
403
+ </div>
404
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="built-with">
405
+ Built with anycoder <i class="ri-external-link-line"></i>
406
+ </a>
407
+ </div>
408
+ </header>
409
+
410
+ <!-- Main Content -->
411
+ <main>
412
+ <!-- Hero Section -->
413
+ <section class="hero container">
414
+ <h1 class="fade-in-up">
415
+ بدون شرم، بازخورد بده.<br>
416
+ <span class="gradient-text">ناشناس، محترمانه و رایگان.</span>
417
+ </h1>
418
+ <p class="fade-in-up" style="transition-delay: 0.2s;">
419
+ آیا می‌خواهید به کسی بگویید که بوی خوبی می‌دهد یا از بوی بد خبردارش کنید؟
420
+ ابزار ما به شما کمک می‌کند بدون رو در روی شدن، پیامتان را ارسال کنید.
421
+ </p>
422
+
423
+ <!-- Selection Type -->
424
+ <div class="selection-grid fade-in-up" style="transition-delay: 0.4s;">
425
+ <!-- Good Smell Card -->
426
+ <div class="glass-panel select-card card-good" onclick="selectType('good')">
427
+ <i class="ri-heart-pulse-line"></i>
428
+ <h3>گزارش بوی خوب</h3>
429
+ <p>کسی امروز عالی بو می‌کند! به او انرژی مثبت بده.</p>
430
+ </div>
431
+
432
+ <!-- Bad Smell Card -->
433
+ <div class="glass-panel select-card card-bad" onclick="selectType('bad')">
434
+ <i class="ri-user-unfollow-line"></i>
435
+ <h3>اطلاع‌رسانی بوی بد</h3>
436
+ <p>کسی متوجه بوی بد خودش نیست؟ با محترمانه به او بگو.</p>
437
+ </div>
438
+ </div>
439
+ </section>
440
+
441
+ <!-- Form Section (Dynamic) -->
442
+ <section id="form-section" class="container form-section glass-panel">
443
+ <div class="form-header">
444
+ <h2 id="form-title">ارسال پیام</h2>
445
+ <button class="btn back-btn" onclick="closeForm()">
446
+ <i class="ri-arrow-right-line"></i> بازگشت
447
+ </button>
448
+ </div>
449
+
450
+ <form id="feedback-form" onsubmit="handleSubmit(event)">
451
+ <div class="form-group">
452
+ <label for="recipient">ایمیل یا شماره موبایل دریافت‌کننده</label>
453
+ <input type="text" id="recipient" class="form-control" placeholder="مثال: example@gmail.com" required>
454
+ </div>
455
+
456
+ <div class="form-group">
457
+ <label for="smell-type">نوع بو</label>
458
+ <select id="smell-type" class="form-control" required>
459
+ <option value="" disabled selected>انتخاب کنید...</option>
460
+ <!-- Options populated by JS -->
461
+ </select>
462
+ </div>
463
+
464
+ <div class="form-group">
465
+ <label for="message">پیام اختصاصی (اختیاری)</label>
466
+ <textarea id="message" class="form-control" rows="3" placeholder="چیزی اضافه کن..."></textarea>
467
+ </div>
468
+
469
+ <button type="submit" class="btn submit-btn" id="submit-btn">
470
+ <span>ارسال ناشناس</span> <i class="ri-send-plane-fill"></i>
471
+ </button>
472
+ </form>
473
+
474
+ <!-- Success Message -->
475
+ <div id="success-message" class="success-message">
476
+ <i class="ri-checkbox-circle-fill success-icon"></i>
477
+ <h3>پیام با موفقیت ارسال شد!</h3>
478
+ <p>شما یک دوست خوب هستید. بازخورد ناشناس شما به زودی تحویل داده می‌شود.</p>
479
+ <button class="btn back-btn" onclick="closeForm()" style="margin-top: 20px;">بستن</button>
480
+ </div>
481
+ </section>
482
+
483
+ <!-- How It Works -->
484
+ <section class="how-it-works container fade-in-up">
485
+ <h2>چگونه کار می‌کند؟</h2>
486
+ <div class="steps-container">
487
+ <div class="step-item">
488
+ <div class="step-icon-box">
489
+ <span class="step-number">1</span>
490
+ <i class="ri-cursor-line"></i>
491
+ </div>
492
+ <h4>انتخاب کنید</h4>
493
+ <p>انتخاب کنید که می‌خواهید بوی خوب را تحسین کنید یا بوی بد را اطلاع دهید.</p>
494
+ </div>
495
+ <div class="step-item">
496
+ <div class="step-icon-box">
497
+ <span class="step-number">2</span>
498
+ <i class="ri-edit-line"></i>
499
+ </div>
500
+ <h4>جزئیات را بنویسید</h4>
501
+ <p>اطلاعات تماس طرف مقابل و نوع بو را وارد کنید.</p>
502
+ </div>
503
+ <div class="step-item">
504
+ <div class="step-icon-box">
505
+ <span class="step-number">3</span>
506
+ <i class="ri-send-plane-2-line"></i>
507
+ </div>
508
+ <h4>ارسال کنید</h4>
509
+ <p>ما پیام شما را به صورت ناشناس و محترمانه برای او ارسال می‌کنیم.</p>
510
+ </div>
511
+ </div>
512
+ </section>
513
+ </main>
514
+
515
+ <!-- Footer -->
516
+ <footer>
517
+ <div class="container footer-content">
518
+ <div class="logo">
519
+ <i class="ri-scent-line"></i>
520
+ <span>اسپری محترمانه</span>
521
+ </div>
522
+ <div class="footer-links">
523
+ <a href="#">شرایط استفاده</a>
524
+ <a href="#">حریم خصوصی</a>
525
+ <a href="#">پشتیبانی</a>
526
+ </div>
527
+ <div style="font-size: 0.8rem; color: var(--text-muted);">
528
+ © 2023 تمامی حقوق محفوظ است.
529
+ </div>
530
+ </div>
531
+ </footer>
532
+
533
+ <!-- JavaScript -->
534
+ <script>
535
+ // Configuration data
536
+ const smellOptions = {
537
+ good: [
538
+ "عطر خوشبو",
539
+ "ادکلن گران‌قیمت",
540
+ "شامپوی مو",
541
+ "خوشبویی طبیعی",
542
+ "بوی تازه لباسشویی"
543
+ ],
544
+ bad: [
545
+ "بوی بد دهان",
546
+ "تعریق شدید",
547
+ "بوی پا",
548
+ "بوی سیگار",
549
+ "بوی نامطبوع بدن",
550
+ "نیاز به دوش گرفتن"
551
+ ]
552
+ };
553
+
554
+ const formTitle = {
555
+ good: "✨ تحسین بوی خوب",
556
+ bad: "⚠️ اطلاع‌رسانی محترمانه"
557
+ };
558
+
559
+ // DOM Elements
560
+ const formSection = document.getElementById('form-section');
561
+ const formTitleEl = document.getElementById('form-title');
562
+ const smellTypeSelect = document.getElementById('smell-type');
563
+ const feedbackForm = document.getElementById('feedback-form');
564
+ const successMessage = document.getElementById('success-message');
565
+ const submitBtn = document.getElementById('submit-btn');
566
+ const header = document.getElementById('main-header');
567
+
568
+ // Scroll Animation Observer
569
+ const observerOptions = {
570
+ threshold: 0.1
571
+ };
572
+
573
+ const observer = new IntersectionObserver((entries) => {
574
+ entries.forEach(entry => {
575
+ if (entry.isIntersecting) {
576
+ entry.target.classList.add('visible');
577
+ }
578
+ });
579
+ }, observerOptions);
580
+
581
+ document.querySelectorAll('.fade-in-up').forEach(el => observer.observe(el));
582
+
583
+ // Scroll Effect for Header
584
+ window.addEventListener('scroll', () => {
585
+ if (window.scrollY > 50) {
586
+ header.classList.add('scrolled');
587
+ } else {
588
+ header.classList.remove('scrolled');
589
+ }
590
+ });
591
+
592
+ // Functions
593
+ function selectType(type) {
594
+ // Update form content based on type
595
+ formTitleEl.textContent = formTitle[type];
596
+
597
+ // Clear and populate dropdown
598
+ smellTypeSelect.innerHTML = '<option value="" disabled selected>انتخاب کنید...</option>';
599
+ smellOptions[type].forEach(option => {
600
+ const opt = document.createElement('option');
601
+ opt.value = option;
602
+ opt.textContent = option;
603
+ smellTypeSelect.appendChild(opt);
604
+ });
605
+
606
+ // Styling based on type
607
+ if (type === 'good') {
608
+ formSection.style.borderColor = 'rgba(0, 210, 255, 0.3)';
609
+ } else {
610
+ formSection.style.borderColor = 'rgba(255, 107, 107, 0.3)';
611
+ }
612
+
613
+ // Show Form
614
+ formSection.classList.add('active');
615
+
616
+ // Scroll to form
617
+ setTimeout(() => {
618
+ formSection.scrollIntoView({ behavior: 'smooth', block: 'center' });
619
+ }, 100);
620
+ }
621
+
622
+ function closeForm() {
623
+ formSection.classList.remove('active');
624
+ feedbackForm.style.display = 'block';
625
+ successMessage.style.display = 'none';
626
+ feedbackForm.reset();
627
+
628
+ // Scroll back to selection
629
+ document.querySelector('.selection-grid').scrollIntoView({ behavior: 'smooth' });
630
+ }
631
+
632
+ function handleSubmit(e) {
633
+ e.preventDefault();
634
+
635
+ // Simple Validation
636
+ const recipient = document.getElementById('recipient').value;
637
+ const smell = document.getElementById('smell-type').value;
638
+
639
+ if (!recipient || !smell) {
640
+ alert("لطفاً تمام فیلدهای ضروری را پر کنید.");
641
+ return;
642
+ }
643
+
644
+ // Simulate Loading
645
+ const originalBtnContent = submitBtn.innerHTML;
646
+ submitBtn.disabled = true;
647
+ submitBtn.innerHTML = '<i class="ri-loader-4-line ri-spin"></i> در حال ارسال...';
648
+
649
+ // Simulate API Call delay
650
+ setTimeout(() => {
651
+ feedbackForm.style.display = 'none';
652
+ successMessage.style.display = 'block';
653
+
654
+ // Reset Button
655
+ submitBtn.disabled = false;
656
+ submitBtn.innerHTML = originalBtnContent;
657
+ }, 1500);
658
+ }
659
+ </script>
660
+ </body>
661
+ </html>