samirerty commited on
Commit
153e8ab
·
verified ·
1 Parent(s): 2a58158

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +329 -1216
index.html CHANGED
@@ -3,1292 +3,405 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>آنلاین شاپ | فروشگاه اینستاگرامی</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
- <link rel="preconnect" href="https://fonts.googleapis.com">
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
- <link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="stylesheet">
11
  <style>
12
  :root {
13
- --bg-primary: #0f0f0f;
14
- --bg-secondary: #1a1a1a;
15
- --bg-card: #242424;
16
- --accent: #e8b4b8;
17
- --accent-hover: #d49a9f;
18
- --text-primary: #f5f5f5;
19
- --text-secondary: #a0a0a0;
20
- --border: #333333;
21
- --gradient-start: #e8b4b8;
22
- --gradient-end: #a88b8e;
23
- }
24
-
25
  * {
26
- margin: 0;
27
- padding: 0;
28
- box-sizing: border-box;
29
- }
30
-
31
- body {
32
  font-family: 'Vazirmatn', sans-serif;
33
- background: var(--bg-primary);
34
- color: var(--text-primary);
35
- min-height: 100vh;
36
- overflow-x: hidden;
37
- }
38
-
39
- /* Animated Background */
40
- .bg-pattern {
41
- position: fixed;
42
- top: 0;
43
- left: 0;
44
- width: 100%;
45
- height: 100%;
46
- pointer-events: none;
47
- z-index: 0;
48
- opacity: 0.4;
49
- }
50
-
51
- .bg-orb {
52
- position: absolute;
53
- border-radius: 50%;
54
- filter: blur(80px);
55
- animation: float 20s ease-in-out infinite;
56
- }
57
-
58
- .bg-orb-1 {
59
- width: 400px;
60
- height: 400px;
61
- background: linear-gradient(135deg, var(--accent) 0%, transparent 70%);
62
- top: -100px;
63
- right: -100px;
64
- animation-delay: 0s;
65
- }
66
-
67
- .bg-orb-2 {
68
- width: 300px;
69
- height: 300px;
70
- background: linear-gradient(135deg, #8b7a7d 0%, transparent 70%);
71
- bottom: 20%;
72
- left: -50px;
73
- animation-delay: -7s;
74
- }
75
-
76
- .bg-orb-3 {
77
- width: 250px;
78
- height: 250px;
79
- background: linear-gradient(135deg, #6b5a5d 0%, transparent 70%);
80
- top: 50%;
81
- right: 10%;
82
- animation-delay: -14s;
83
- }
84
-
85
- @keyframes float {
86
- 0%, 100% { transform: translate(0, 0) scale(1); }
87
- 33% { transform: translate(30px, -30px) scale(1.1); }
88
- 66% { transform: translate(-20px, 20px) scale(0.9); }
89
- }
90
-
91
- /* Header */
92
- .header {
93
- position: fixed;
94
- top: 0;
95
- left: 0;
96
- right: 0;
97
- z-index: 100;
98
- background: rgba(15, 15, 15, 0.8);
99
- backdrop-filter: blur(20px);
100
- border-bottom: 1px solid var(--border);
101
- padding: 1rem 1.5rem;
102
- }
103
-
104
- .header-content {
105
- max-width: 1200px;
106
- margin: 0 auto;
107
- display: flex;
108
- justify-content: space-between;
109
- align-items: center;
110
- }
111
-
112
- .logo {
113
- font-size: 1.5rem;
114
- font-weight: 800;
115
- background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
116
- -webkit-background-clip: text;
117
- -webkit-text-fill-color: transparent;
118
- background-clip: text;
119
- }
120
-
121
- .header-actions {
122
- display: flex;
123
- gap: 0.75rem;
124
- }
125
-
126
- .icon-btn {
127
- width: 44px;
128
- height: 44px;
129
- border-radius: 12px;
130
- background: var(--bg-card);
131
- border: 1px solid var(--border);
132
- color: var(--text-primary);
133
- display: flex;
134
- align-items: center;
135
- justify-content: center;
136
- cursor: pointer;
137
- transition: all 0.3s ease;
138
- }
139
-
140
- .icon-btn:hover {
141
- background: var(--accent);
142
- color: var(--bg-primary);
143
- transform: translateY(-2px);
144
- }
145
-
146
- /* Main Content */
147
- .main-content {
148
- position: relative;
149
- z-index: 1;
150
- padding-top: 80px;
151
- max-width: 1200px;
152
- margin: 0 auto;
153
- }
154
-
155
- /* Profile Section */
156
- .profile-section {
157
- padding: 2rem 1.5rem;
158
- display: flex;
159
- flex-direction: column;
160
- align-items: center;
161
- gap: 1.5rem;
162
- }
163
-
164
- @media (min-width: 768px) {
165
- .profile-section {
166
- flex-direction: row;
167
- align-items: flex-start;
168
- gap: 3rem;
169
- }
170
- }
171
-
172
- .profile-image-container {
173
- position: relative;
174
- flex-shrink: 0;
175
- }
176
-
177
- .profile-image {
178
- width: 120px;
179
- height: 120px;
180
- border-radius: 50%;
181
- background: linear-gradient(135deg, var(--accent), var(--gradient-end));
182
- padding: 4px;
183
- animation: pulse-ring 3s ease-in-out infinite;
184
- }
185
-
186
- @keyframes pulse-ring {
187
- 0%, 100% { box-shadow: 0 0 0 0 rgba(232, 180, 184, 0.4); }
188
- 50% { box-shadow: 0 0 0 15px rgba(232, 180, 184, 0); }
189
- }
190
-
191
- .profile-image img {
192
- width: 100%;
193
- height: 100%;
194
- border-radius: 50%;
195
- object-fit: cover;
196
- background: var(--bg-secondary);
197
- }
198
-
199
- .profile-badge {
200
- position: absolute;
201
- bottom: 5px;
202
- right: 5px;
203
- width: 28px;
204
- height: 28px;
205
- background: var(--accent);
206
- border-radius: 50%;
207
- display: flex;
208
- align-items: center;
209
- justify-content: center;
210
- border: 3px solid var(--bg-primary);
211
- }
212
-
213
- .profile-info {
214
- flex: 1;
215
- text-align: center;
216
- }
217
-
218
- @media (min-width: 768px) {
219
- .profile-info {
220
- text-align: right;
221
- }
222
- }
223
-
224
- .profile-name {
225
- font-size: 1.25rem;
226
- font-weight: 700;
227
- margin-bottom: 0.25rem;
228
- }
229
-
230
- .profile-username {
231
- color: var(--text-secondary);
232
- font-size: 0.9rem;
233
- margin-bottom: 1rem;
234
- }
235
-
236
- .profile-bio {
237
- color: var(--text-secondary);
238
- font-size: 0.875rem;
239
- line-height: 1.6;
240
- margin-bottom: 1rem;
241
- max-width: 400px;
242
- }
243
-
244
- @media (min-width: 768px) {
245
- .profile-bio {
246
- margin-left: auto;
247
- margin-right: 0;
248
- }
249
- }
250
-
251
- .profile-stats {
252
- display: flex;
253
- justify-content: center;
254
- gap: 2.5rem;
255
- margin-bottom: 1.5rem;
256
- }
257
-
258
- @media (min-width: 768px) {
259
- .profile-stats {
260
- justify-content: flex-start;
261
- }
262
- }
263
-
264
- .stat-item {
265
- text-align: center;
266
- }
267
-
268
- .stat-number {
269
- font-size: 1.25rem;
270
- font-weight: 700;
271
- display: block;
272
- }
273
-
274
- .stat-label {
275
- font-size: 0.8rem;
276
- color: var(--text-secondary);
277
- }
278
-
279
- .profile-actions {
280
- display: flex;
281
- gap: 0.75rem;
282
- justify-content: center;
283
- flex-wrap: wrap;
284
- }
285
-
286
- @media (min-width: 768px) {
287
- .profile-actions {
288
- justify-content: flex-start;
289
- }
290
- }
291
-
292
- .btn {
293
- padding: 0.625rem 1.5rem;
294
- border-radius: 10px;
295
- font-size: 0.875rem;
296
- font-weight: 600;
297
- cursor: pointer;
298
- transition: all 0.3s ease;
299
- border: none;
300
- font-family: inherit;
301
- }
302
-
303
- .btn-primary {
304
- background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
305
- color: var(--bg-primary);
306
- }
307
-
308
- .btn-primary:hover {
309
- transform: translateY(-2px);
310
- box-shadow: 0 8px 25px rgba(232, 180, 184, 0.3);
311
- }
312
-
313
- .btn-secondary {
314
- background: var(--bg-card);
315
- color: var(--text-primary);
316
- border: 1px solid var(--border);
317
- }
318
-
319
- .btn-secondary:hover {
320
- background: var(--bg-secondary);
321
- border-color: var(--accent);
322
- }
323
-
324
- /* Stories Highlights */
325
- .stories-section {
326
- padding: 1.5rem;
327
- border-bottom: 1px solid var(--border);
328
- }
329
-
330
- .stories-container {
331
- display: flex;
332
- gap: 1.25rem;
333
- overflow-x: auto;
334
- padding: 0.5rem 0;
335
- scrollbar-width: none;
336
- }
337
-
338
- .stories-container::-webkit-scrollbar {
339
- display: none;
340
  }
341
-
342
- .story-item {
343
- display: flex;
344
- flex-direction: column;
345
- align-items: center;
346
- gap: 0.5rem;
347
- cursor: pointer;
348
- flex-shrink: 0;
349
  }
350
-
351
  .story-ring {
352
- width: 72px;
353
- height: 72px;
354
- border-radius: 50%;
355
- background: linear-gradient(135deg, var(--accent), #c4a3a6);
356
- padding: 3px;
357
- transition: transform 0.3s ease;
358
- }
359
-
360
- .story-item:hover .story-ring {
361
- transform: scale(1.1);
362
- }
363
-
364
- .story-content {
365
- width: 100%;
366
- height: 100%;
367
- border-radius: 50%;
368
- background: var(--bg-card);
369
- display: flex;
370
- align-items: center;
371
- justify-content: center;
372
- overflow: hidden;
373
- }
374
-
375
- .story-content img {
376
- width: 100%;
377
- height: 100%;
378
- object-fit: cover;
379
- }
380
-
381
- .story-title {
382
- font-size: 0.75rem;
383
- color: var(--text-secondary);
384
- max-width: 70px;
385
- text-align: center;
386
- overflow: hidden;
387
- text-overflow: ellipsis;
388
- white-space: nowrap;
389
- }
390
-
391
- .story-add {
392
- border: 2px dashed var(--border);
393
- background: transparent;
394
- }
395
-
396
- /* Tabs Navigation */
397
- .tabs-nav {
398
- display: flex;
399
- justify-content: center;
400
- border-bottom: 1px solid var(--border);
401
- position: sticky;
402
- top: 80px;
403
- background: rgba(15, 15, 15, 0.95);
404
- backdrop-filter: blur(20px);
405
- z-index: 50;
406
- }
407
-
408
- .tab-btn {
409
- flex: 1;
410
- max-width: 200px;
411
- padding: 1rem;
412
- background: transparent;
413
- border: none;
414
- color: var(--text-secondary);
415
- font-size: 0.875rem;
416
- font-weight: 600;
417
- cursor: pointer;
418
- position: relative;
419
- font-family: inherit;
420
- transition: color 0.3s ease;
421
- display: flex;
422
- align-items: center;
423
- justify-content: center;
424
- gap: 0.5rem;
425
- }
426
-
427
- .tab-btn.active {
428
- color: var(--text-primary);
429
- }
430
-
431
- .tab-btn::after {
432
- content: '';
433
- position: absolute;
434
- bottom: 0;
435
- left: 50%;
436
- transform: translateX(-50%) scaleX(0);
437
- width: 80%;
438
- height: 2px;
439
- background: var(--accent);
440
- transition: transform 0.3s ease;
441
- }
442
-
443
- .tab-btn.active::after {
444
- transform: translateX(-50%) scaleX(1);
445
- }
446
-
447
- .tab-btn:hover {
448
- color: var(--text-primary);
449
- }
450
-
451
- /* Tab Content */
452
- .tab-content {
453
- display: none;
454
- animation: fadeIn 0.5s ease;
455
- }
456
-
457
- .tab-content.active {
458
- display: block;
459
- }
460
-
461
- @keyframes fadeIn {
462
- from { opacity: 0; transform: translateY(10px); }
463
- to { opacity: 1; transform: translateY(0); }
464
- }
465
-
466
- /* Products Grid */
467
- .products-grid {
468
- display: grid;
469
- grid-template-columns: repeat(3, 1fr);
470
- gap: 3px;
471
- padding: 3px;
472
- }
473
-
474
- .product-item {
475
- aspect-ratio: 1;
476
- position: relative;
477
- overflow: hidden;
478
- cursor: pointer;
479
- background: var(--bg-card);
480
- }
481
-
482
- .product-item img {
483
- width: 100%;
484
- height: 100%;
485
- object-fit: cover;
486
- transition: transform 0.5s ease;
487
- }
488
-
489
- .product-item:hover img {
490
- transform: scale(1.1);
491
- }
492
-
493
- .product-overlay {
494
- position: absolute;
495
- inset: 0;
496
- background: rgba(0, 0, 0, 0.5);
497
- display: flex;
498
- align-items: center;
499
- justify-content: center;
500
- gap: 1.5rem;
501
- opacity: 0;
502
- transition: opacity 0.3s ease;
503
- }
504
-
505
- .product-item:hover .product-overlay {
506
- opacity: 1;
507
- }
508
-
509
- .overlay-stat {
510
- display: flex;
511
- align-items: center;
512
- gap: 0.5rem;
513
- color: white;
514
- font-weight: 600;
515
- font-size: 0.9rem;
516
- }
517
-
518
- .product-badge {
519
- position: absolute;
520
- top: 10px;
521
- right: 10px;
522
- background: var(--accent);
523
- color: var(--bg-primary);
524
- padding: 0.25rem 0.75rem;
525
- border-radius: 20px;
526
- font-size: 0.7rem;
527
- font-weight: 700;
528
- }
529
-
530
- /* Videos Grid */
531
- .videos-grid {
532
- display: grid;
533
- grid-template-columns: repeat(3, 1fr);
534
- gap: 3px;
535
  padding: 3px;
536
- }
537
-
538
- .video-item {
539
- aspect-ratio: 9/16;
540
- position: relative;
541
- overflow: hidden;
542
- cursor: pointer;
543
- background: var(--bg-card);
544
- }
545
-
546
- .video-item img {
547
- width: 100%;
548
- height: 100%;
549
- object-fit: cover;
550
- transition: transform 0.5s ease;
551
- }
552
-
553
- .video-item:hover img {
554
- transform: scale(1.05);
555
- }
556
-
557
- .video-play-icon {
558
- position: absolute;
559
- top: 50%;
560
- left: 50%;
561
- transform: translate(-50%, -50%);
562
- width: 50px;
563
- height: 50px;
564
- background: rgba(255, 255, 255, 0.2);
565
- backdrop-filter: blur(10px);
566
  border-radius: 50%;
567
- display: flex;
568
- align-items: center;
569
- justify-content: center;
570
- transition: all 0.3s ease;
571
- }
572
-
573
- .video-item:hover .video-play-icon {
574
- background: rgba(255, 255, 255, 0.3);
575
- transform: translate(-50%, -50%) scale(1.1);
576
- }
577
-
578
- .video-stats {
579
- position: absolute;
580
- bottom: 10px;
581
- right: 10px;
582
- display: flex;
583
- align-items: center;
584
- gap: 0.25rem;
585
- color: white;
586
- font-size: 0.8rem;
587
- font-weight: 600;
588
- }
589
-
590
- /* Stories Page */
591
- .stories-page {
592
- padding: 1.5rem;
593
- }
594
-
595
- .stories-grid {
596
- display: grid;
597
- grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
598
- gap: 1rem;
599
- }
600
-
601
- .story-card {
602
- background: var(--bg-card);
603
- border-radius: 16px;
604
- overflow: hidden;
605
- cursor: pointer;
606
- transition: all 0.3s ease;
607
- border: 1px solid var(--border);
608
- }
609
-
610
- .story-card:hover {
611
- transform: translateY(-5px);
612
- border-color: var(--accent);
613
- box-shadow: 0 15px 40px rgba(232, 180, 184, 0.1);
614
- }
615
-
616
- .story-card-image {
617
- aspect-ratio: 9/16;
618
- overflow: hidden;
619
- }
620
-
621
- .story-card-image img {
622
- width: 100%;
623
- height: 100%;
624
- object-fit: cover;
625
- transition: transform 0.5s ease;
626
- }
627
-
628
- .story-card:hover .story-card-image img {
629
- transform: scale(1.1);
630
- }
631
-
632
- .story-card-info {
633
- padding: 0.75rem;
634
- }
635
-
636
- .story-card-title {
637
- font-size: 0.85rem;
638
- font-weight: 600;
639
- margin-bottom: 0.25rem;
640
- }
641
-
642
- .story-card-views {
643
- font-size: 0.75rem;
644
- color: var(--text-secondary);
645
- }
646
-
647
- /* Settings Menu */
648
- .settings-menu {
649
- position: fixed;
650
- top: 0;
651
- right: -100%;
652
- width: 100%;
653
- max-width: 320px;
654
- height: 100%;
655
- background: var(--bg-secondary);
656
- z-index: 200;
657
- transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
658
- border-left: 1px solid var(--border);
659
- overflow-y: auto;
660
- }
661
-
662
- .settings-menu.open {
663
- right: 0;
664
  }
665
-
666
- .settings-overlay {
667
- position: fixed;
668
- inset: 0;
669
- background: rgba(0, 0, 0, 0.5);
670
- z-index: 150;
671
- opacity: 0;
672
- visibility: hidden;
673
- transition: all 0.3s ease;
674
- }
675
-
676
- .settings-overlay.open {
677
- opacity: 1;
678
- visibility: visible;
679
- }
680
-
681
- .settings-header {
682
- padding: 1.5rem;
683
- border-bottom: 1px solid var(--border);
684
- display: flex;
685
- align-items: center;
686
- justify-content: space-between;
687
- }
688
-
689
- .settings-title {
690
- font-size: 1.25rem;
691
- font-weight: 700;
692
- }
693
-
694
- .settings-close {
695
- width: 36px;
696
- height: 36px;
697
- border-radius: 50%;
698
- background: var(--bg-card);
699
- border: none;
700
- color: var(--text-primary);
701
- cursor: pointer;
702
- display: flex;
703
- align-items: center;
704
- justify-content: center;
705
- transition: all 0.3s ease;
706
- }
707
-
708
- .settings-close:hover {
709
- background: var(--accent);
710
- color: var(--bg-primary);
711
- }
712
-
713
- .settings-content {
714
- padding: 1rem;
715
- }
716
-
717
- .settings-section {
718
- margin-bottom: 1.5rem;
719
- }
720
-
721
- .settings-section-title {
722
- font-size: 0.75rem;
723
- color: var(--text-secondary);
724
- text-transform: uppercase;
725
- letter-spacing: 0.1em;
726
- margin-bottom: 0.75rem;
727
- padding: 0 0.5rem;
728
- }
729
-
730
- .settings-item {
731
- display: flex;
732
- align-items: center;
733
- gap: 1rem;
734
- padding: 1rem;
735
- border-radius: 12px;
736
- cursor: pointer;
737
- transition: all 0.3s ease;
738
- background: transparent;
739
- border: none;
740
- width: 100%;
741
- text-align: right;
742
- color: var(--text-primary);
743
- font-family: inherit;
744
- font-size: 0.95rem;
745
- }
746
-
747
- .settings-item:hover {
748
- background: var(--bg-card);
749
- }
750
-
751
- .settings-item-icon {
752
- width: 40px;
753
- height: 40px;
754
- border-radius: 10px;
755
- background: var(--bg-card);
756
- display: flex;
757
- align-items: center;
758
- justify-content: center;
759
- color: var(--accent);
760
- }
761
-
762
- .settings-item:hover .settings-item-icon {
763
- background: var(--accent);
764
- color: var(--bg-primary);
765
  }
766
-
767
- /* Product Modal */
768
- .product-modal {
769
- position: fixed;
770
- inset: 0;
771
- z-index: 300;
772
- display: flex;
773
- align-items: center;
774
- justify-content: center;
775
- padding: 1rem;
776
  opacity: 0;
777
- visibility: hidden;
778
- transition: all 0.3s ease;
779
  }
780
-
781
- .product-modal.open {
782
- opacity: 1;
783
- visibility: visible;
784
- }
785
-
786
- .product-modal-overlay {
787
- position: absolute;
788
- inset: 0;
789
- background: rgba(0, 0, 0, 0.8);
790
- }
791
-
792
- .product-modal-content {
793
- position: relative;
794
- background: var(--bg-secondary);
795
- border-radius: 20px;
796
- max-width: 900px;
797
- width: 100%;
798
- max-height: 90vh;
799
- overflow: hidden;
800
- display: flex;
801
- flex-direction: column;
802
- transform: scale(0.9);
803
- transition: transform 0.3s ease;
804
- }
805
-
806
- .product-modal.open .product-modal-content {
807
- transform: scale(1);
808
- }
809
-
810
- @media (min-width: 768px) {
811
- .product-modal-content {
812
- flex-direction: row;
813
  }
814
  }
815
-
816
- .product-modal-image {
817
- flex: 1;
818
- aspect-ratio: 1;
819
- background: var(--bg-card);
820
- position: relative;
821
- }
822
-
823
- .product-modal-image img {
824
- width: 100%;
825
- height: 100%;
826
- object-fit: cover;
827
- }
828
-
829
- .product-modal-close {
830
- position: absolute;
831
- top: 1rem;
832
- left: 1rem;
833
- width: 40px;
834
- height: 40px;
835
- border-radius: 50%;
836
- background: rgba(0, 0, 0, 0.5);
837
- backdrop-filter: blur(10px);
838
- border: none;
839
- color: white;
840
- cursor: pointer;
841
- display: flex;
842
- align-items: center;
843
- justify-content: center;
844
- transition: all 0.3s ease;
845
- }
846
-
847
- .product-modal-close:hover {
848
- background: var(--accent);
849
- }
850
-
851
- .product-modal-details {
852
- flex: 1;
853
- padding: 1.5rem;
854
- overflow-y: auto;
855
  }
856
-
857
- .product-modal-title {
858
- font-size: 1.25rem;
859
- font-weight: 700;
860
- margin-bottom: 0.5rem;
861
  }
862
-
863
- .product-modal-price {
864
- font-size: 1.5rem;
865
- font-weight: 800;
866
  color: var(--accent);
867
- margin-bottom: 1rem;
868
- }
869
-
870
- .product-modal-description {
871
- color: var(--text-secondary);
872
- font-size: 0.9rem;
873
- line-height: 1.7;
874
- margin-bottom: 1.5rem;
875
- }
876
-
877
- .product-modal-actions {
878
- display: flex;
879
- gap: 0.75rem;
880
- }
881
-
882
- .quantity-selector {
883
- display: flex;
884
- align-items: center;
885
- gap: 0.75rem;
886
- margin-bottom: 1rem;
887
  }
888
-
889
- .quantity-btn {
890
- width: 36px;
891
- height: 36px;
892
- border-radius: 8px;
893
- background: var(--bg-card);
894
- border: 1px solid var(--border);
895
- color: var(--text-primary);
896
- cursor: pointer;
897
- display: flex;
898
- align-items: center;
899
- justify-content: center;
900
- font-size: 1.25rem;
901
- transition: all 0.3s ease;
902
  }
903
-
904
- .quantity-btn:hover {
905
- background: var(--accent);
906
- color: var(--bg-primary);
907
  }
908
-
909
- .quantity-value {
910
- font-size: 1.125rem;
911
- font-weight: 600;
912
- min-width: 30px;
913
- text-align: center;
914
- }
915
-
916
- /* Story Viewer */
917
- .story-viewer {
918
- position: fixed;
919
- inset: 0;
920
- z-index: 400;
921
- background: black;
922
- display: flex;
923
- align-items: center;
924
- justify-content: center;
925
  opacity: 0;
926
  visibility: hidden;
927
- transition: all 0.3s ease;
928
  }
929
-
930
- .story-viewer.open {
 
931
  opacity: 1;
932
  visibility: visible;
933
  }
934
-
935
- .story-viewer-content {
936
- position: relative;
937
- width: 100%;
938
- max-width: 400px;
939
- height: 100%;
940
- max-height: 700px;
941
- }
942
-
943
- .story-viewer-image {
944
- width: 100%;
945
- height: 100%;
946
- object-fit: cover;
947
- border-radius: 20px;
948
- }
949
-
950
- .story-progress {
951
- position: absolute;
952
- top: 1rem;
953
- left: 1rem;
954
- right: 1rem;
955
- height: 3px;
956
- background: rgba(255, 255, 255, 0.3);
957
- border-radius: 3px;
958
- overflow: hidden;
959
- }
960
-
961
- .story-progress-bar {
962
- height: 100%;
963
- background: white;
964
- width: 0%;
965
- transition: width 0.1s linear;
966
- }
967
-
968
- .story-viewer-close {
969
- position: absolute;
970
- top: 2rem;
971
- left: 1rem;
972
- width: 36px;
973
- height: 36px;
974
- border-radius: 50%;
975
- background: rgba(0, 0, 0, 0.3);
976
- border: none;
977
- color: white;
978
- cursor: pointer;
979
- display: flex;
980
- align-items: center;
981
- justify-content: center;
982
- }
983
-
984
- .story-viewer-info {
985
- position: absolute;
986
- bottom: 2rem;
987
- left: 1rem;
988
- right: 1rem;
989
- color: white;
990
- }
991
-
992
- .story-viewer-title {
993
- font-size: 1.125rem;
994
- font-weight: 700;
995
- margin-bottom: 0.25rem;
996
- }
997
-
998
- .story-viewer-time {
999
- font-size: 0.8rem;
1000
- opacity: 0.7;
1001
- }
1002
-
1003
- /* Animations */
1004
- .fade-in {
1005
- animation: fadeIn 0.6s ease forwards;
1006
- }
1007
-
1008
- .slide-up {
1009
- animation: slideUp 0.6s ease forwards;
1010
- }
1011
-
1012
- @keyframes slideUp {
1013
- from { opacity: 0; transform: translateY(30px); }
1014
- to { opacity: 1; transform: translateY(0); }
1015
- }
1016
-
1017
- .stagger-1 { animation-delay: 0.1s; }
1018
- .stagger-2 { animation-delay: 0.2s; }
1019
- .stagger-3 { animation-delay: 0.3s; }
1020
- .stagger-4 { animation-delay: 0.4s; }
1021
- .stagger-5 { animation-delay: 0.5s; }
1022
-
1023
- /* Footer */
1024
- .footer {
1025
- text-align: center;
1026
- padding: 2rem;
1027
- color: var(--text-secondary);
1028
- font-size: 0.8rem;
1029
- }
1030
-
1031
- .footer a {
1032
- color: var(--accent);
1033
- text-decoration: none;
1034
- }
1035
-
1036
- /* Reduced Motion */
1037
  @media (prefers-reduced-motion: reduce) {
1038
- *, *::before, *::after {
1039
- animation-duration: 0.01ms !important;
1040
- animation-iteration-count: 1 !important;
1041
- transition-duration: 0.01ms !important;
1042
  }
1043
  }
1044
-
1045
- /* Custom Scrollbar */
1046
  ::-webkit-scrollbar {
1047
- width: 8px;
1048
- }
1049
-
1050
- ::-webkit-scrollbar-track {
1051
- background: var(--bg-primary);
1052
  }
1053
-
1054
  ::-webkit-scrollbar-thumb {
1055
- background: var(--border);
1056
- border-radius: 4px;
1057
- }
1058
-
1059
- ::-webkit-scrollbar-thumb:hover {
1060
  background: var(--accent);
 
1061
  }
1062
  </style>
1063
  </head>
1064
- <body>
1065
- <!-- Background Pattern -->
1066
- <div class="bg-pattern">
1067
- <div class="bg-orb bg-orb-1"></div>
1068
- <div class="bg-orb bg-orb-2"></div>
1069
- <div class="bg-orb bg-orb-3"></div>
1070
- </div>
1071
-
1072
  <!-- Header -->
1073
- <header class="header">
1074
- <div class="header-content">
1075
- <div class="logo">فروشگاه من</div>
1076
- <div class="header-actions">
1077
- <button class="icon-btn" aria-label="جستجو">
1078
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1079
- <circle cx="11" cy="11" r="8"></circle>
1080
- <path d="m21 21-4.3-4.3"></path>
1081
- </svg>
1082
- </button>
1083
- <button class="icon-btn" aria-label="سبد خرید">
1084
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1085
- <path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path>
1086
- <line x1="3" y1="6" x2="21" y2="6"></line>
1087
- <path d="M16 10a4 4 0 0 1-8 0"></path>
1088
- </svg>
1089
- </button>
1090
- <button class="icon-btn" id="settingsBtn" aria-label="تنظیمات">
1091
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1092
- <line x1="4" y1="21" x2="4" y2="14"></line>
1093
- <line x1="4" y1="10" x2="4" y2="3"></line>
1094
- <line x1="12" y1="21" x2="12" y2="12"></line>
1095
- <line x1="12" y1="8" x2="12" y2="3"></line>
1096
- <line x1="20" y1="21" x2="20" y2="16"></line>
1097
- <line x1="20" y1="12" x2="20" y2="3"></line>
1098
- <line x1="1" y1="14" x2="7" y2="14"></line>
1099
- <line x1="9" y1="8" x2="15" y2="8"></line>
1100
- <line x1="17" y1="16" x2="23" y2="16"></line>
1101
- </svg>
1102
- </button>
1103
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1104
  </div>
1105
  </header>
1106
 
1107
- <!-- Main Content -->
1108
- <main class="main-content">
1109
  <!-- Profile Section -->
1110
- <section class="profile-section">
1111
- <div class="profile-image-container fade-in">
1112
- <div class="profile-image">
1113
- <img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200&h=200&fit=crop&crop=face" alt="تصویر پروفایل">
 
 
1114
  </div>
1115
- <div class="profile-badge">
1116
- <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
1117
- <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
1118
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
1119
  </div>
1120
  </div>
1121
 
1122
- <div class="profile-info">
1123
- <h1 class="profile-name slide-up stagger-1">سارا احمدی</h1>
1124
- <p class="profile-username slide-up stagger-2">@sara.ahmadi.shop</p>
1125
- <p class="profile-bio slide-up stagger-3">فروشگاه آنلاین پوشاک و اکسسوری | ارسال به سراسر کشور | ضمانت اصالت کالا | پشتیبانی ۲۴ ساعته</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1126
 
1127
- <div class="profile-stats slide-up stagger-4">
1128
- <div class="stat-item">
1129
- <span class="stat-number" data-count="156">0</span>
1130
- <span class="stat-label">محصول</span>
1131
  </div>
1132
- <div class="stat-item">
1133
- <span class="stat-number" data-count="12400">0</span>
1134
- <span class="stat-label">دنبال‌کننده</span>
 
 
 
 
1135
  </div>
1136
- <div class="stat-item">
1137
- <span class="stat-number" data-count="89">0</span>
1138
- <span class="stat-label">دنبال‌شونده</span>
 
 
 
 
1139
  </div>
 
1140
  </div>
1141
 
1142
- <div class="profile-actions slide-up stagger-5">
1143
- <button class="btn btn-primary">دنبال کردن</button>
1144
- <button class="btn btn-secondary">پیام</button>
1145
- <button class="btn btn-secondary">اشتراک‌گذاری</button>
 
 
1146
  </div>
1147
  </div>
1148
  </section>
1149
 
1150
- <!-- Stories Highlights -->
1151
- <section class="stories-section">
1152
- <div class="stories-container" id="storiesContainer">
1153
- <!-- Stories will be rendered here -->
1154
- </div>
1155
- </section>
1156
-
1157
- <!-- Tabs Navigation -->
1158
- <nav class="tabs-nav">
1159
- <button class="tab-btn active" data-tab="products">
1160
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1161
- <rect x="3" y="3" width="7" height="7"></rect>
1162
- <rect x="14" y="3" width="7" height="7"></rect>
1163
- <rect x="14" y="14" width="7" height="7"></rect>
1164
- <rect x="3" y="14" width="7" height="7"></rect>
1165
  </svg>
1166
- محصولات
1167
  </button>
1168
- <button class="tab-btn" data-tab="videos">
1169
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1170
- <polygon points="5 3 19 12 5 21 5 3"></polygon>
1171
  </svg>
1172
- ویدیوها
1173
  </button>
1174
- <button class="tab-btn" data-tab="stories">
1175
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1176
- <circle cx="12" cy="12" r="10"></circle>
1177
- <polygon points="10 8 16 12 10 16 10 8"></polygon>
1178
  </svg>
1179
- استوری‌ها
1180
  </button>
1181
  </nav>
1182
 
1183
- <!-- Products Tab -->
1184
- <div class="tab-content active" id="products-tab">
1185
- <div class="products-grid" id="productsGrid">
1186
- <!-- Products will be rendered here -->
1187
- </div>
1188
- </div>
1189
 
1190
- <!-- Videos Tab -->
1191
- <div class="tab-content" id="videos-tab">
1192
- <div class="videos-grid" id="videosGrid">
1193
- <!-- Videos will be rendered here -->
1194
- </div>
1195
- </div>
1196
 
1197
- <!-- Stories Tab -->
1198
- <div class="tab-content" id="stories-tab">
1199
- <div class="stories-page">
1200
- <div class="stories-grid" id="storiesGrid">
1201
- <!-- Stories will be rendered here -->
1202
- </div>
 
1203
  </div>
1204
- </div>
1205
-
1206
- <!-- Footer -->
1207
- <footer class="footer">
1208
- <p>Built with <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">anycoder</a></p>
1209
- </footer>
1210
  </main>
1211
 
1212
- <!-- Settings Menu -->
1213
- <div class="settings-overlay" id="settingsOverlay"></div>
1214
- <aside class="settings-menu" id="settingsMenu">
1215
- <div class="settings-header">
1216
- <h2 class="settings-title">تنظیمات</h2>
1217
- <button class="settings-close" id="settingsClose" aria-label="بستن">
1218
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1219
- <line x1="18" y1="6" x2="6" y2="18"></line>
1220
- <line x1="6" y1="6" x2="18" y2="18"></line>
1221
- </svg>
1222
- </button>
1223
- </div>
1224
- <div class="settings-content">
1225
- <div class="settings-section">
1226
- <h3 class="settings-section-title">حساب کاربری</h3>
1227
- <button class="settings-item">
1228
- <div class="settings-item-icon">
1229
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1230
- <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
1231
- <circle cx="12" cy="7" r="4"></circle>
1232
- </svg>
1233
- </div>
1234
- ویرایش پروفایل
1235
- </button>
1236
- <button class="settings-item">
1237
- <div class="settings-item-icon">
1238
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1239
- <rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect>
1240
- <path d="M7 11V7a5 5 0 0 1 10 0v4"></path>
1241
- </svg>
1242
- </div>
1243
- امنیت و رمز عبور
1244
- </button>
1245
- <button class="settings-item">
1246
- <div class="settings-item-icon">
1247
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1248
- <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
1249
- <polyline points="22,6 12,13 2,6"></polyline>
1250
- </svg>
1251
- </div>
1252
- ایمیل و تماس
1253
- </button>
1254
- </div>
1255
-
1256
- <div class="settings-section">
1257
- <h3 class="settings-section-title">فروشگاه</h3>
1258
- <button class="settings-item">
1259
- <div class="settings-item-icon">
1260
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1261
- <path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path>
1262
- <line x1="3" y1="6" x2="21" y2="6"></line>
1263
- <path d="M16 10a4 4 0 0 1-8 0"></path>
1264
- </svg>
1265
- </div>
1266
- مدیریت محصولات
1267
- </button>
1268
- <button class="settings-item">
1269
- <div class="settings-item-icon">
1270
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1271
- <line x1="12" y1="1" x2="12" y2="23"></line>
1272
- <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
1273
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1274
  </div>
1275
- قیمت‌گذاری
1276
- </button>
1277
- <button class="settings-item">
1278
- <div class="settings-item-icon">
1279
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1280
- <rect x="1" y="3" width="15" height="13"></rect>
1281
- <polygon points="16 8 20 8 23 11 23 16 16 16 16 8"></polygon>
1282
- <circle cx="5.5" cy="18.5" r="2.5"></circle>
1283
- <circle cx="18.5" cy="18.5" r="2.5"></circle>
 
 
 
 
1284
  </svg>
 
1285
  </div>
1286
- روش‌های ارسال
1287
- </button>
1288
- <button class="settings-item">
1289
- <div class="settings-item-icon">
1290
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1291
- <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
1292
- <polyline points="14 2 14 8 20 8"></polyline>
1293
- <line x1="16" y1="13" x2="8" y2="13"></line>
1294
- <line x1="16" y1="17" x2="8" y2
 
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>آنلاین شاپ | گالری استایل</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
+ <link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@200;400;600;800&display=swap" rel="stylesheet">
 
 
9
  <style>
10
  :root {
11
+ --bg: #faf8f5;
12
+ --fg: #2d2a26;
13
+ --muted: #8a847a;
14
+ --accent: #c4704b;
15
+ --card: #ffffff;
16
+ --border: #e8e4de;
17
+ }
18
+
 
 
 
 
19
  * {
 
 
 
 
 
 
20
  font-family: 'Vazirmatn', sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  }
22
+
23
+ body {
24
+ background: var(--bg);
25
+ color: var(--fg);
 
 
 
 
26
  }
27
+
28
  .story-ring {
29
+ background: linear-gradient(135deg, #c4704b, #e8a87c, #c4704b);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  padding: 3px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  border-radius: 50%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  }
33
+
34
+ .story-ring.viewed {
35
+ background: var(--border);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
+
38
+ .product-card {
39
+ break-inside: avoid;
40
+ animation: fadeUp 0.5s ease forwards;
 
 
 
 
 
 
41
  opacity: 0;
 
 
42
  }
43
+
44
+ @keyframes fadeUp {
45
+ to {
46
+ opacity: 1;
47
+ transform: translateY(0);
48
+ }
49
+ from {
50
+ opacity: 0;
51
+ transform: translateY(20px);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  }
53
  }
54
+
55
+ @keyframes pulse {
56
+ 0%, 100% { transform: scale(1); }
57
+ 50% { transform: scale(1.05); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  }
59
+
60
+ .story-item:hover .story-ring {
61
+ animation: pulse 0.6s ease;
 
 
62
  }
63
+
64
+ .tab-active {
 
 
65
  color: var(--accent);
66
+ border-bottom: 2px solid var(--accent);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
+
69
+ .video-card {
70
+ aspect-ratio: 9/16;
71
+ background: linear-gradient(180deg, #2d2a26 0%, #4a4540 100%);
 
 
 
 
 
 
 
 
 
 
72
  }
73
+
74
+ .overlay-gradient {
75
+ background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, transparent 50%);
 
76
  }
77
+
78
+ .settings-menu {
79
+ transform: translateY(-10px);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  opacity: 0;
81
  visibility: hidden;
82
+ transition: all 0.2s ease;
83
  }
84
+
85
+ .settings-menu.active {
86
+ transform: translateY(0);
87
  opacity: 1;
88
  visibility: visible;
89
  }
90
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  @media (prefers-reduced-motion: reduce) {
92
+ .product-card, .story-item:hover .story-ring {
93
+ animation: none;
94
+ opacity: 1;
 
95
  }
96
  }
97
+
 
98
  ::-webkit-scrollbar {
99
+ width: 4px;
100
+ height: 4px;
 
 
 
101
  }
102
+
103
  ::-webkit-scrollbar-thumb {
 
 
 
 
 
104
  background: var(--accent);
105
+ border-radius: 10px;
106
  }
107
  </style>
108
  </head>
109
+ <body class="min-h-screen pb-20">
 
 
 
 
 
 
 
110
  <!-- Header -->
111
+ <header class="sticky top-0 z-50 bg-white/80 backdrop-blur-lg border-b border-[var(--border)]">
112
+ <div class="max-w-lg mx-auto px-4 py-3 flex items-center justify-between">
113
+ <button id="settingsBtn" class="p-2 hover:bg-[var(--border)] rounded-xl transition-colors" aria-label="تنظیمات">
114
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
115
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 6h16M4 12h16M4 18h16"/>
116
+ </svg>
117
+ </button>
118
+
119
+ <h1 class="text-lg font-semibold">گالری استایل</h1>
120
+
121
+ <button class="p-2 hover:bg-[var(--border)] rounded-xl transition-colors relative" aria-label="سبد خرید">
122
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
123
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
124
+ </svg>
125
+ <span class="absolute -top-1 -left-1 w-5 h-5 bg-[var(--accent)] text-white text-xs rounded-full flex items-center justify-center">3</span>
126
+ </button>
127
+ </div>
128
+
129
+ <!-- Settings Dropdown -->
130
+ <div id="settingsMenu" class="settings-menu absolute top-full left-4 w-56 bg-white rounded-2xl shadow-xl border border-[var(--border)] p-2 z-50">
131
+ <a href="#" class="flex items-center gap-3 px-4 py-3 hover:bg-[var(--bg)] rounded-xl transition-colors">
132
+ <svg class="w-5 h-5 text-[var(--muted)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
133
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/>
134
+ </svg>
135
+ <span>ویرایش پروفایل</span>
136
+ </a>
137
+ <a href="#" class="flex items-center gap-3 px-4 py-3 hover:bg-[var(--bg)] rounded-xl transition-colors">
138
+ <svg class="w-5 h-5 text-[var(--muted)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
139
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"/>
140
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/>
141
+ </svg>
142
+ <span>تنظیمات حساب</span>
143
+ </a>
144
+ <a href="#" class="flex items-center gap-3 px-4 py-3 hover:bg-[var(--bg)] rounded-xl transition-colors">
145
+ <svg class="w-5 h-5 text-[var(--muted)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
146
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"/>
147
+ </svg>
148
+ <span>سفارش‌های من</span>
149
+ </a>
150
+ <a href="#" class="flex items-center gap-3 px-4 py-3 hover:bg-[var(--bg)] rounded-xl transition-colors">
151
+ <svg class="w-5 h-5 text-[var(--muted)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
152
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
153
+ </svg>
154
+ <span>علاقه‌مندی‌ها</span>
155
+ </a>
156
+ <hr class="my-2 border-[var(--border)]">
157
+ <a href="#" class="flex items-center gap-3 px-4 py-3 text-red-500 hover:bg-red-50 rounded-xl transition-colors">
158
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
159
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"/>
160
+ </svg>
161
+ <span>خروج</span>
162
+ </a>
163
  </div>
164
  </header>
165
 
166
+ <main class="max-w-lg mx-auto px-4">
 
167
  <!-- Profile Section -->
168
+ <section class="py-6">
169
+ <div class="flex items-center gap-6">
170
+ <div class="story-ring shrink-0">
171
+ <img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=150&h=150&fit=crop"
172
+ alt="پروفایل"
173
+ class="w-20 h-20 rounded-full object-cover border-2 border-white">
174
  </div>
175
+
176
+ <div class="flex-1 text-center">
177
+ <div class="grid grid-cols-3 gap-4">
178
+ <div>
179
+ <span class="block text-xl font-bold">۱۲۸</span>
180
+ <span class="text-sm text-[var(--muted)]">محصول</span>
181
+ </div>
182
+ <div>
183
+ <span class="block text-xl font-bold">۱۲.۵K</span>
184
+ <span class="text-sm text-[var(--muted)]">دنبال‌کننده</span>
185
+ </div>
186
+ <div>
187
+ <span class="block text-xl font-bold">۸۹۲</span>
188
+ <span class="text-sm text-[var(--muted)]">دنبال‌شده</span>
189
+ </div>
190
+ </div>
191
  </div>
192
  </div>
193
 
194
+ <div class="mt-4">
195
+ <h2 class="font-semibold text-lg">گالری استایل</h2>
196
+ <p class="text-[var(--muted)] text-sm mt-1">فروشگاه آنلاین پوشاک و اکسسوری</p>
197
+ <p class="text-sm mt-2">ارسال به سراسر ایران | ضمانت اصالت کالا</p>
198
+ </div>
199
+
200
+ <div class="flex gap-2 mt-4">
201
+ <button class="flex-1 py-2 bg-[var(--fg)] text-white rounded-xl font-medium hover:opacity-90 transition-opacity">
202
+ دنبال کردن
203
+ </button>
204
+ <button class="flex-1 py-2 border border-[var(--border)] rounded-xl font-medium hover:bg-[var(--border)] transition-colors">
205
+ پیام
206
+ </button>
207
+ <button class="py-2 px-4 border border-[var(--border)] rounded-xl hover:bg-[var(--border)] transition-colors" aria-label="اشتراک‌گذاری">
208
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
209
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z"/>
210
+ </svg>
211
+ </button>
212
+ </div>
213
+ </section>
214
+
215
+ <!-- Stories -->
216
+ <section class="py-4 border-y border-[var(--border)]">
217
+ <div class="flex gap-4 overflow-x-auto pb-2 scrollbar-hide">
218
+ <div class="story-item shrink-0 text-center cursor-pointer">
219
+ <div class="w-16 h-16 rounded-full border-2 border-dashed border-[var(--accent)] flex items-center justify-center mb-1">
220
+ <svg class="w-6 h-6 text-[var(--accent)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
221
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"/>
222
+ </svg>
223
+ </div>
224
+ <span class="text-xs">جدید</span>
225
+ </div>
226
 
227
+ <div class="story-item shrink-0 text-center cursor-pointer">
228
+ <div class="story-ring mb-1">
229
+ <img src="https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=100&h=100&fit=crop"
230
+ alt="استوری" class="w-16 h-16 rounded-full object-cover border-2 border-white">
231
  </div>
232
+ <span class="text-xs">تخفیف</span>
233
+ </div>
234
+
235
+ <div class="story-item shrink-0 text-center cursor-pointer">
236
+ <div class="story-ring mb-1">
237
+ <img src="https://images.unsplash.com/photo-1445205170230-053b83016050?w=100&h=100&fit=crop"
238
+ alt="استوری" class="w-16 h-16 rounded-full object-cover border-2 border-white">
239
  </div>
240
+ <span class="text-xs">جدید</span>
241
+ </div>
242
+
243
+ <div class="story-item shrink-0 text-center cursor-pointer">
244
+ <div class="story-ring viewed mb-1">
245
+ <img src="https://images.unsplash.com/photo-1490481651871-ab68de25d43d?w=100&h=100&fit=crop"
246
+ alt="استوری" class="w-16 h-16 rounded-full object-cover border-2 border-white">
247
  </div>
248
+ <span class="text-xs text-[var(--muted)]">پوشاک</span>
249
  </div>
250
 
251
+ <div class="story-item shrink-0 text-center cursor-pointer">
252
+ <div class="story-ring viewed mb-1">
253
+ <img src="https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=100&h=100&fit=crop"
254
+ alt="استوری" class="w-16 h-16 rounded-full object-cover border-2 border-white">
255
+ </div>
256
+ <span class="text-xs text-[var(--muted)]">اکسسوری</span>
257
  </div>
258
  </div>
259
  </section>
260
 
261
+ <!-- Tabs -->
262
+ <nav class="flex border-b border-[var(--border)]">
263
+ <button class="tab-btn flex-1 py-4 flex justify-center tab-active" data-tab="products" aria-label="محصولات">
264
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
265
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"/>
 
 
 
 
 
 
 
 
 
 
266
  </svg>
 
267
  </button>
268
+ <button class="tab-btn flex-1 py-4 flex justify-center text-[var(--muted)]" data-tab="videos" aria-label="ویدیوها">
269
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
270
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"/>
271
  </svg>
 
272
  </button>
273
+ <button class="tab-btn flex-1 py-4 flex justify-center text-[var(--muted)]" data-tab="tagged" aria-label="تگ شده">
274
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
275
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"/>
 
276
  </svg>
 
277
  </button>
278
  </nav>
279
 
280
+ <!-- Products Grid -->
281
+ <section id="productsTab" class="tab-content py-4">
282
+ <div class="grid grid-cols-3 gap-1" id="productsGrid"></div>
283
+ </section>
 
 
284
 
285
+ <!-- Videos Grid -->
286
+ <section id="videosTab" class="tab-content hidden py-4">
287
+ <div class="grid grid-cols-2 gap-2" id="videosGrid"></div>
288
+ </section>
 
 
289
 
290
+ <!-- Tagged Grid -->
291
+ <section id="taggedTab" class="tab-content hidden py-4">
292
+ <div class="text-center py-12 text-[var(--muted)]">
293
+ <svg class="w-16 h-16 mx-auto mb-4 opacity-50" fill="none" stroke="currentColor" viewBox="0 0 24 24">
294
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"/>
295
+ </svg>
296
+ <p>هنوز محصول تگ شده‌ای ندارید</p>
297
  </div>
298
+ </section>
 
 
 
 
 
299
  </main>
300
 
301
+ <!-- Built with anycoder -->
302
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder"
303
+ target="_blank"
304
+ class="fixed bottom-4 left-4 text-xs text-[var(--muted)] hover:text-[var(--accent)] transition-colors">
305
+ Built with anycoder
306
+ </a>
307
+
308
+ <script>
309
+ // Data
310
+ const products = [
311
+ { id: 1, image: 'https://images.unsplash.com/photo-1434389677669-e08b4cac3105?w=400&h=500&fit=crop', price: '۴۵۰,۰۰۰', likes: 234 },
312
+ { id: 2, image: 'https://images.unsplash.com/photo-1525507119028-ed4c629a60a3?w=400&h=400&fit=crop', price: '۳۲۰,۰۰۰', likes: 189 },
313
+ { id: 3, image: 'https://images.unsplash.com/photo-1591047139829-d91aecb6caea?w=400&h=600&fit=crop', price: '۵۸۰,۰۰۰', likes: 312 },
314
+ { id: 4, image: 'https://images.unsplash.com/photo-1551028719-00167b16eac5?w=400&h=450&fit=crop', price: '۲۹۰,۰۰۰', likes: 156 },
315
+ { id: 5, image: 'https://images.unsplash.com/photo-1560243563-062bfc001d68?w=400&h=500&fit=crop', price: '۴۱۵,۰۰۰', likes: 278 },
316
+ { id: 6, image: 'https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?w=400&h=550&fit=crop', price: '۶۲۰,۰۰۰', likes: 421 },
317
+ { id: 7, image: 'https://images.unsplash.com/photo-1509631179647-0177331693ae?w=400&h=400&fit=crop', price: '۳۵۵,۰۰۰', likes: 198 },
318
+ { id: 8, image: 'https://images.unsplash.com/photo-1485968579580-b6d095142e6e?w=400&h=480&fit=crop', price: '۴۷۰,۰۰۰', likes: 267 },
319
+ { id: 9, image: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b?w=400&h=520&fit=crop', price: '۵۳۵,۰۰۰', likes: 345 },
320
+ { id: 10, image: 'https://images.unsplash.com/photo-1483985988355-763728e1935b?w=400&h=450&fit=crop', price: '۳۸۰,۰۰۰', likes: 213 },
321
+ { id: 11, image: 'https://images.unsplash.com/photo-1475180098004-ca77a66827be?w=400&h=500&fit=crop', price: '۴۹۵,۰۰۰', likes: 289 },
322
+ { id: 12, image: 'https://images.unsplash.com/photo-1433659156656-69a8e5c76d77?w=400&h=420&fit=crop', price: '۲۷۵,۰۰۰', likes: 167 }
323
+ ];
324
+
325
+ const videos = [
326
+ { id: 1, image: 'https://images.unsplash.com/photo-1509631179647-0177331693ae?w=300&h=500&fit=crop', views: '۱۲.۵K' },
327
+ { id: 2, image: 'https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?w=300&h=500&fit=crop', views: '۸.۳K' },
328
+ { id: 3, image: 'https://images.unsplash.com/photo-1525507119028-ed4c629a60a3?w=300&h=500&fit=crop', views: '۱۵.۲K' },
329
+ { id: 4, image: 'https://images.unsplash.com/photo-1469334031218-e382a71b716b?w=300&h=500&fit=crop', views: '۶.۷K' }
330
+ ];
331
+
332
+ // DOM Elements
333
+ const settingsBtn = document.getElementById('settingsBtn');
334
+ const settingsMenu = document.getElementById('settingsMenu');
335
+ const tabBtns = document.querySelectorAll('.tab-btn');
336
+ const productsGrid = document.getElementById('productsGrid');
337
+ const videosGrid = document.getElementById('videosGrid');
338
+
339
+ // Settings Menu Toggle
340
+ settingsBtn.addEventListener('click', (e) => {
341
+ e.stopPropagation();
342
+ settingsMenu.classList.toggle('active');
343
+ });
344
+
345
+ document.addEventListener('click', () => {
346
+ settingsMenu.classList.remove('active');
347
+ });
348
+
349
+ // Tab Switching
350
+ tabBtns.forEach(btn => {
351
+ btn.addEventListener('click', () => {
352
+ tabBtns.forEach(b => {
353
+ b.classList.remove('tab-active');
354
+ b.classList.add('text-[var(--muted)]');
355
+ });
356
+ btn.classList.add('tab-active');
357
+ btn.classList.remove('text-[var(--muted)]');
358
+
359
+ document.querySelectorAll('.tab-content').forEach(content => {
360
+ content.classList.add('hidden');
361
+ });
362
+ document.getElementById(`${btn.dataset.tab}Tab`).classList.remove('hidden');
363
+ });
364
+ });
365
+
366
+ // Render Products
367
+ function renderProducts() {
368
+ productsGrid.innerHTML = products.map((product, index) => `
369
+ <div class="product-card relative aspect-square overflow-hidden cursor-pointer group" style="animation-delay: ${index * 50}ms">
370
+ <img src="${product.image}" alt="محصول" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-300">
371
+ <div class="absolute inset-0 bg-black/0 group-hover:bg-black/30 transition-colors flex items-center justify-center opacity-0 group-hover:opacity-100">
372
+ <div class="flex items-center gap-3 text-white text-sm">
373
+ <span class="flex items-center gap-1">
374
+ <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
375
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
376
+ </svg>
377
+ ${product.likes}
378
+ </span>
379
+ <span class="font-bold">${product.price} ت</span>
380
+ </div>
381
  </div>
382
+ </div>
383
+ `).join('');
384
+ }
385
+
386
+ // Render Videos
387
+ function renderVideos() {
388
+ videosGrid.innerHTML = videos.map((video, index) => `
389
+ <div class="video-card relative rounded-2xl overflow-hidden cursor-pointer group" style="animation-delay: ${index * 100}ms">
390
+ <img src="${video.image}" alt="ویدیو" class="w-full h-full object-cover">
391
+ <div class="absolute inset-0 overlay-gradient"></div>
392
+ <div class="absolute bottom-3 right-3 flex items-center gap-1 text-white text-sm">
393
+ <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
394
+ <path d="M8 5v14l11-7z"/>
395
  </svg>
396
+ ${video.views}
397
  </div>
398
+ </div>
399
+ `).join('');
400
+ }
401
+
402
+ // Initialize
403
+ renderProducts();
404
+ renderVideos();
405
+ </script>
406
+ </body>
407
+ </html>