crypto-swap 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,377 @@
1
+ /* Modal Styles */
2
+ .modal {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ bottom: 0;
8
+ background: rgba(0, 0, 0, 0.8);
9
+ backdrop-filter: blur(10px);
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ z-index: 2000;
14
+ opacity: 0;
15
+ visibility: hidden;
16
+ transition: var(--transition-normal);
17
+ }
18
+
19
+ .modal.active {
20
+ opacity: 1;
21
+ visibility: visible;
22
+ }
23
+
24
+ .modal-content {
25
+ background: var(--bg-card);
26
+ border: 1px solid rgba(0, 245, 255, 0.2);
27
+ border-radius: var(--radius-xl);
28
+ padding: var(--space-xl);
29
+ max-width: 500px;
30
+ width: 90%;
31
+ max-height: 90vh;
32
+ overflow-y: auto;
33
+ transform: scale(0.9);
34
+ transition: var(--transition-normal);
35
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
36
+ }
37
+
38
+ .modal.active .modal-content {
39
+ transform: scale(1);
40
+ }
41
+
42
+ .modal-header {
43
+ display: flex;
44
+ justify-content: space-between;
45
+ align-items: center;
46
+ margin-bottom: var(--space-lg);
47
+ }
48
+
49
+ .modal-header h3 {
50
+ font-size: 1.25rem;
51
+ }
52
+
53
+ .modal-close {
54
+ width: 32px;
55
+ height: 32px;
56
+ background: var(--bg-tertiary);
57
+ border: 1px solid rgba(0, 245, 255, 0.2);
58
+ border-radius: var(--radius-md);
59
+ color: var(--text-secondary);
60
+ font-size: 1.5rem;
61
+ cursor: pointer;
62
+ transition: var(--transition-fast);
63
+ display: flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ }
67
+
68
+ .modal-close:hover {
69
+ background: rgba(255, 0, 255, 0.1);
70
+ border-color: var(--neon-pink);
71
+ color: var(--neon-pink);
72
+ }
73
+
74
+ /* Currency Modal */
75
+ .currency-modal-content {
76
+ max-width: 400px;
77
+ }
78
+
79
+ .currency-list {
80
+ max-height: 400px;
81
+ overflow-y: auto;
82
+ margin-top: var(--space-md);
83
+ }
84
+
85
+ .currency-list-item {
86
+ display: flex;
87
+ align-items: center;
88
+ gap: var(--space-md);
89
+ padding: var(--space-md);
90
+ border-radius: var(--radius-md);
91
+ cursor: pointer;
92
+ transition: var(--transition-fast);
93
+ }
94
+
95
+ .currency-list-item:hover {
96
+ background: rgba(0, 245, 255, 0.05);
97
+ }
98
+
99
+ .currency-list-item.active {
100
+ background: rgba(0, 245, 255, 0.1);
101
+ border: 1px solid rgba(0, 245, 255, 0.3);
102
+ }
103
+
104
+ .currency-list-icon {
105
+ width: 36px;
106
+ height: 36px;
107
+ background: var(--gradient-primary);
108
+ border-radius: var(--radius-full);
109
+ display: flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ font-size: 0.75rem;
113
+ font-weight: 700;
114
+ }
115
+
116
+ .currency-list-info {
117
+ flex: 1;
118
+ }
119
+
120
+ .currency-list-code {
121
+ font-weight: 600;
122
+ color: var(--text-primary);
123
+ }
124
+
125
+ .currency-list-name {
126
+ font-size: 0.8rem;
127
+ color: var(--text-muted);
128
+ }
129
+
130
+ .currency-list-network {
131
+ font-size: 0.75rem;
132
+ color: var(--neon-cyan);
133
+ background: rgba(0, 245, 255, 0.1);
134
+ padding: 2px 8px;
135
+ border-radius: var(--radius-full);
136
+ }
137
+
138
+ /* Order Modal */
139
+ .order-modal-content {
140
+ max-width: 500px;
141
+ }
142
+
143
+ .order-step {
144
+ text-align: center;
145
+ padding: var(--space-xl) 0;
146
+ }
147
+
148
+ .order-step-icon {
149
+ width: 80px;
150
+ height: 80px;
151
+ background: var(--gradient-glow);
152
+ border: 2px solid rgba(0, 245, 255, 0.3);
153
+ border-radius: var(--radius-full);
154
+ display: flex;
155
+ align-items: center;
156
+ justify-content: center;
157
+ margin: 0 auto var(--space-lg);
158
+ font-size: 2rem;
159
+ }
160
+
161
+ .order-step-title {
162
+ font-size: 1.5rem;
163
+ margin-bottom: var(--space-md);
164
+ }
165
+
166
+ .order-step-desc {
167
+ color: var(--text-secondary);
168
+ margin-bottom: var(--space-xl);
169
+ }
170
+
171
+ .order-details {
172
+ background: var(--bg-secondary);
173
+ border-radius: var(--radius-lg);
174
+ padding: var(--space-lg);
175
+ margin-bottom: var(--space-lg);
176
+ }
177
+
178
+ .order-detail-row {
179
+ display: flex;
180
+ justify-content: space-between;
181
+ padding: var(--space-sm) 0;
182
+ border-bottom: 1px solid rgba(0, 245, 255, 0.1);
183
+ }
184
+
185
+ .order-detail-row:last-child {
186
+ border-bottom: none;
187
+ }
188
+
189
+ .order-detail-label {
190
+ color: var(--text-muted);
191
+ font-size: 0.875rem;
192
+ }
193
+
194
+ .order-detail-value {
195
+ font-weight: 600;
196
+ color: var(--text-primary);
197
+ }
198
+
199
+ .order-detail-value.highlight {
200
+ color: var(--neon-cyan);
201
+ }
202
+
203
+ .order-address-box {
204
+ background: var(--bg-tertiary);
205
+ border: 1px solid rgba(0, 245, 255, 0.2);
206
+ border-radius: var(--radius-md);
207
+ padding: var(--space-md);
208
+ margin: var(--space-md) 0;
209
+ display: flex;
210
+ align-items: center;
211
+ gap: var(--space-md);
212
+ }
213
+
214
+ .order-address {
215
+ flex: 1;
216
+ font-family: var(--font-mono);
217
+ font-size: 0.875rem;
218
+ color: var(--text-primary);
219
+ word-break: break-all;
220
+ }
221
+
222
+ .order-copy-btn {
223
+ padding: var(--space-sm) var(--space-md);
224
+ background: rgba(0, 245, 255, 0.1);
225
+ border: 1px solid rgba(0, 245, 255, 0.3);
226
+ border-radius: var(--radius-md);
227
+ color: var(--neon-cyan);
228
+ cursor: pointer;
229
+ transition: var(--transition-fast);
230
+ white-space: nowrap;
231
+ }
232
+
233
+ .order-copy-btn:hover {
234
+ background: rgba(0, 245, 255, 0.2);
235
+ }
236
+
237
+ .order-status-badge {
238
+ display: inline-flex;
239
+ align-items: center;
240
+ gap: var(--space-sm);
241
+ padding: var(--space-sm) var(--space-md);
242
+ border-radius: var(--radius-full);
243
+ font-size: 0.875rem;
244
+ font-weight: 500;
245
+ }
246
+
247
+ .order-status-badge.awaiting {
248
+ background: rgba(255, 221, 0, 0.1);
249
+ color: var(--neon-yellow);
250
+ border: 1px solid rgba(255, 221, 0, 0.3);
251
+ }
252
+
253
+ .order-status-badge.confirming {
254
+ background: rgba(0, 128, 255, 0.1);
255
+ color: var(--neon-blue);
256
+ border: 1px solid rgba(0, 128, 255, 0.3);
257
+ }
258
+
259
+ .order-status-badge.exchanging {
260
+ background: rgba(184, 41, 221, 0.1);
261
+ color: var(--neon-purple);
262
+ border: 1px solid rgba(184, 41, 221, 0.3);
263
+ }
264
+
265
+ .order-status-badge.sending {
266
+ background: rgba(0, 245, 255, 0.1);
267
+ color: var(--neon-cyan);
268
+ border: 1px solid rgba(0, 245, 255, 0.3);
269
+ }
270
+
271
+ .order-status-badge.complete {
272
+ background: rgba(0, 255, 136, 0.1);
273
+ color: var(--neon-green);
274
+ border: 1px solid rgba(0, 255, 136, 0.3);
275
+ }
276
+
277
+ .order-status-badge.failed {
278
+ background: rgba(255, 0, 0, 0.1);
279
+ color: #ff4444;
280
+ border: 1px solid rgba(255, 0, 0, 0.3);
281
+ }
282
+
283
+ .order-progress {
284
+ display: flex;
285
+ justify-content: space-between;
286
+ margin: var(--space-xl) 0;
287
+ position: relative;
288
+ }
289
+
290
+ .order-progress::before {
291
+ content: '';
292
+ position: absolute;
293
+ top: 15px;
294
+ left: 10%;
295
+ right: 10%;
296
+ height: 2px;
297
+ background: var(--bg-tertiary);
298
+ z-index: 0;
299
+ }
300
+
301
+ .order-progress-bar {
302
+ position: absolute;
303
+ top: 15px;
304
+ left: 10%;
305
+ height: 2px;
306
+ background: var(--gradient-primary);
307
+ z-index: 1;
308
+ transition: var(--transition-slow);
309
+ }
310
+
311
+ .order-progress-step {
312
+ display: flex;
313
+ flex-direction: column;
314
+ align-items: center;
315
+ gap: var(--space-sm);
316
+ z-index: 2;
317
+ }
318
+
319
+ .order-progress-dot {
320
+ width: 32px;
321
+ height: 32px;
322
+ background: var(--bg-tertiary);
323
+ border: 2px solid rgba(0, 245, 255, 0.3);
324
+ border-radius: var(--radius-full);
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: center;
328
+ font-size: 0.75rem;
329
+ transition: var(--transition-normal);
330
+ }
331
+
332
+ .order-progress-step.active .order-progress-dot {
333
+ background: var(--gradient-primary);
334
+ border-color: var(--neon-cyan);
335
+ box-shadow: var(--shadow-neon-cyan);
336
+ }
337
+
338
+ .order-progress-step.completed .order-progress-dot {
339
+ background: var(--neon-green);
340
+ border-color: var(--neon-green);
341
+ }
342
+
343
+ .order-progress-label {
344
+ font-size: 0.75rem;
345
+ color: var(--text-muted);
346
+ }
347
+
348
+ .order-progress-step.active .order-progress-label {
349
+ color: var(--neon-cyan);
350
+ }
351
+
352
+ /* QR Code Container */
353
+ .qr-code {
354
+ width: 200px;
355
+ height: 200px;
356
+ background: white;
357
+ border-radius: var(--radius-md);
358
+ padding: var(--space-md);
359
+ margin: var(--space-lg) auto;
360
+ display: flex;
361
+ align-items: center;
362
+ justify-content: center;
363
+ }
364
+
365
+ .qr-code svg,
366
+ .qr-code img {
367
+ max-width: 100%;
368
+ max-height: 100%;
369
+ }
370
+
371
+ /* Responsive */
372
+ @media (max-width: 768px) {
373
+ .modal-content {
374
+ width: 95%;
375
+ padding: var(--space-md);
376
+ }
377
+ }