ciyidogan commited on
Commit
b86549f
·
verified ·
1 Parent(s): 02b26f9

Update flare-ui/src/app/dialogs/api-edit-dialog/api-edit-dialog.component.scss

Browse files
flare-ui/src/app/dialogs/api-edit-dialog/api-edit-dialog.component.scss CHANGED
@@ -1,7 +1,10 @@
1
  .tab-content {
2
- padding: 24px;
3
- overflow-y: auto;
4
- max-height: calc(80vh - 200px);
 
 
 
5
 
6
  h3 {
7
  margin-top: 10px;
@@ -9,428 +12,38 @@
9
  }
10
  }
11
 
12
- .section-title {
13
- font-size: 16px;
14
- font-weight: 500;
15
- margin: 24px 0 16px 0;
16
- color: #666;
17
-
18
- &:first-child {
19
- margin-top: 0;
20
- }
21
- }
22
-
23
- .section-header {
24
- display: flex;
25
- justify-content: space-between;
26
- align-items: center;
27
- margin-bottom: 16px;
28
-
29
- h4 {
30
- margin: 0;
31
- font-size: 16px;
32
- font-weight: 500;
33
- }
34
- }
35
-
36
- .form-section {
37
- margin-bottom: 24px;
38
- }
39
-
40
- .section-label {
41
- display: block;
42
- margin-bottom: 8px;
43
- font-size: 14px;
44
- font-weight: 500;
45
- color: rgba(0, 0, 0, 0.87);
46
- }
47
-
48
  .full-width {
49
  width: 100%;
50
  }
51
 
52
- .headers-list {
53
- .header-row {
54
- display: flex;
55
- gap: 16px;
56
- align-items: flex-start;
57
- margin-bottom: 16px;
58
-
59
- mat-form-field {
60
- flex: 1;
61
- }
62
-
63
- .header-value {
64
- flex: 2;
65
- }
66
-
67
- button {
68
- margin-top: 8px;
69
- }
70
- }
71
- }
72
-
73
- .response-mappings-list {
74
- .mapping-row {
75
- display: flex;
76
- gap: 16px;
77
- align-items: flex-start;
78
- margin-bottom: 16px;
79
-
80
- mat-form-field {
81
- flex: 1;
82
- }
83
-
84
- .json-path-field {
85
- flex: 2;
86
- }
87
-
88
- button {
89
- margin-top: 8px;
90
- }
91
- }
92
- }
93
-
94
- .empty-state {
95
- text-align: center;
96
- padding: 24px;
97
- background-color: #f5f5f5;
98
- border-radius: 4px;
99
- margin: 16px 0;
100
-
101
- mat-icon {
102
- font-size: 48px;
103
- width: 48px;
104
- height: 48px;
105
- color: #ccc;
106
- }
107
-
108
- p {
109
- margin-top: 16px;
110
- color: #666;
111
- }
112
- }
113
-
114
- .empty-state-small {
115
- text-align: center;
116
- padding: 16px;
117
- background-color: #f5f5f5;
118
- border-radius: 4px;
119
- margin: 16px 0;
120
-
121
- mat-icon {
122
- font-size: 24px;
123
- width: 24px;
124
- height: 24px;
125
- color: #ccc;
126
- }
127
-
128
- p {
129
- margin-top: 8px;
130
- font-size: 14px;
131
- color: #666;
132
- }
133
- }
134
-
135
- .auth-settings {
136
- margin-top: 16px;
137
- }
138
-
139
- .retry-settings {
140
  display: flex;
141
- gap: 16px;
142
  align-items: flex-start;
143
-
144
  mat-form-field {
145
  flex: 1;
146
  }
147
- }
148
-
149
- .template-helpers {
150
- margin-top: 8px;
151
-
152
- .template-list {
153
- display: flex;
154
- flex-wrap: wrap;
155
- gap: 8px;
156
- padding: 16px;
157
- }
158
-
159
- .template-chip {
160
- cursor: pointer;
161
- transition: all 0.2s;
162
-
163
- &:hover {
164
- transform: scale(1.05);
165
- box-shadow: 0 2px 4px rgba(0,0,0,0.2);
166
- }
167
- }
168
-
169
- .hint-text {
170
- padding: 16px;
171
- color: #666;
172
- font-size: 14px;
173
- line-height: 1.5;
174
- }
175
- }
176
-
177
- .json-editor {
178
- position: relative;
179
-
180
- .json-textarea {
181
- width: 100%;
182
- font-family: 'Monaco', 'Consolas', monospace;
183
- font-size: 13px;
184
- padding: 12px;
185
- border: 1px solid #ccc;
186
- border-radius: 4px;
187
- background-color: #f8f8f8;
188
- resize: vertical;
189
- min-height: 120px;
190
-
191
- &:focus {
192
- outline: none;
193
- border-color: #3f51b5;
194
- background-color: #fff;
195
- }
196
- }
197
-
198
- button {
199
- margin-top: 8px;
200
- }
201
- }
202
-
203
- .test-section {
204
- .test-info {
205
- margin-bottom: 24px;
206
- }
207
-
208
- .test-controls {
209
- margin-bottom: 10px;
210
- }
211
-
212
- .test-result {
213
- margin-top: 24px;
214
-
215
- .result-status {
216
- display: flex;
217
- align-items: center;
218
- gap: 12px;
219
- padding: 16px;
220
- border-radius: 4px;
221
- margin-bottom: 16px;
222
-
223
- &.success {
224
- background-color: #e8f5e9;
225
- color: #2e7d32;
226
- }
227
-
228
- &.error {
229
- background-color: #ffebee;
230
- color: #c62828;
231
- }
232
-
233
- mat-icon {
234
- font-size: 28px;
235
- width: 28px;
236
- height: 28px;
237
- }
238
-
239
- .status-code,
240
- .response-time {
241
- margin-left: auto;
242
- font-size: 14px;
243
- opacity: 0.8;
244
- }
245
- }
246
-
247
- .error-message {
248
- display: flex;
249
- align-items: center;
250
- gap: 8px;
251
- padding: 12px;
252
- background-color: #ffebee;
253
- color: #c62828;
254
- border-radius: 4px;
255
- margin-bottom: 16px;
256
- }
257
-
258
- .response-section {
259
- margin-bottom: 16px;
260
-
261
- h5 {
262
- margin-bottom: 8px;
263
- font-size: 14px;
264
- font-weight: 500;
265
- }
266
-
267
- pre {
268
- padding: 12px;
269
- background-color: #f5f5f5;
270
- border-radius: 4px;
271
- overflow-x: auto;
272
- font-size: 12px;
273
- margin: 0;
274
- white-space: pre-wrap;
275
- word-break: break-word;
276
- }
277
- }
278
- }
279
-
280
- .test-note {
281
- display: flex;
282
- align-items: flex-start;
283
- gap: 8px;
284
- padding: 12px;
285
- background-color: #e3f2fd;
286
- border-radius: 4px;
287
- margin-top: 16px;
288
-
289
- mat-icon {
290
- color: #1976d2;
291
- font-size: 20px;
292
- width: 20px;
293
- height: 20px;
294
- }
295
-
296
- p {
297
- margin: 0;
298
- font-size: 14px;
299
- color: #1976d2;
300
- }
301
- }
302
- }
303
-
304
- mat-dialog-actions {
305
- padding: 16px 24px;
306
- margin: 0;
307
- border-top: 1px solid #e0e0e0;
308
- }
309
-
310
- .mat-mdc-form-field {
311
- margin-bottom: 16px;
312
- }
313
-
314
- .mat-mdc-dialog-content {
315
- padding: 0;
316
- overflow: hidden;
317
- min-height: 500px;
318
- max-height: 80vh;
319
- display: flex;
320
- flex-direction: column;
321
- }
322
-
323
- .mat-mdc-tab-group {
324
- flex: 1;
325
- display: flex;
326
- flex-direction: column;
327
- }
328
-
329
- .mat-mdc-tab-body-wrapper {
330
- flex: 1;
331
- overflow: auto;
332
- }
333
-
334
- .mat-mdc-chip-set .mat-mdc-chip {
335
- margin: 0 4px 4px 0 !important;
336
- }
337
-
338
- .json-validation-status {
339
- display: flex;
340
- align-items: center;
341
- gap: 4px;
342
- margin-top: -12px;
343
- margin-bottom: 16px;
344
- font-size: 12px;
345
-
346
- mat-icon {
347
- font-size: 16px;
348
- width: 16px;
349
- height: 16px;
350
-
351
- &.valid {
352
- color: #4caf50;
353
- }
354
-
355
- &.invalid {
356
- color: #f44336;
357
- }
358
- }
359
 
360
- span {
361
- &.valid {
362
- color: #4caf50;
363
- }
364
-
365
- &.invalid {
366
- color: #f44336;
367
- }
368
- }
369
- }
370
-
371
- .full-width {
372
- &.json-valid {
373
- textarea {
374
- background-color: rgba(76, 175, 80, 0.05) !important;
375
- }
376
- }
377
-
378
- &.json-invalid {
379
- textarea {
380
- background-color: rgba(244, 67, 54, 0.05) !important;
381
- }
382
  }
383
- }
384
-
385
- .variables-panel {
386
- margin-bottom: 16px;
387
- box-shadow: none;
388
- border: 1px solid rgba(0, 0, 0, 0.12);
389
 
390
- .mat-expansion-panel-header {
391
- padding: 0 16px;
392
- height: 40px;
393
-
394
- .mat-panel-title {
395
- display: flex;
396
- align-items: center;
397
- gap: 8px;
398
- font-size: 13px;
399
- color: #666;
400
-
401
- mat-icon {
402
- font-size: 18px;
403
- width: 18px;
404
- height: 18px;
405
- }
406
- }
407
-
408
- .mat-panel-description {
409
- font-size: 12px;
410
- color: #999;
411
- }
412
  }
413
 
414
- .mat-expansion-panel-body {
415
- padding: 8px 16px 16px;
416
  }
417
 
418
- mat-chip-set {
419
- mat-chip {
420
- font-size: 12px;
421
- min-height: 24px;
422
- padding: 4px 8px;
423
- cursor: pointer;
424
- transition: all 0.2s;
425
-
426
- &:hover {
427
- background-color: #e3f2fd;
428
- color: #1976d2;
429
- }
430
- }
431
  }
432
  }
433
 
 
434
  .array-section {
435
  .section-header {
436
  display: flex;
@@ -460,9 +73,8 @@ mat-dialog-actions {
460
  min-width: 200px;
461
  }
462
 
463
- // Delete button
464
  > button[mat-icon-button] {
465
- margin-top: 8px; // Mat-form-field ile hizalamak için
466
  }
467
  }
468
 
@@ -476,38 +88,111 @@ mat-dialog-actions {
476
  }
477
  }
478
 
479
- @media (max-width: 768px) {
480
- .array-section {
481
- .array-item {
482
- flex-wrap: wrap;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
483
 
484
- .key-field,
485
- .value-field {
486
- flex: 1 1 100%;
487
- min-width: unset;
488
  }
489
  }
490
  }
491
  }
492
 
493
- .row {
494
- display: flex;
495
- gap: 12px;
496
- align-items: flex-start;
497
 
498
- mat-form-field {
499
- flex: 1;
 
500
  }
501
-
502
- .type-field {
503
- flex: 0 0 150px;
 
 
 
 
 
 
 
 
 
 
504
  }
505
-
506
- .path-field {
507
- flex: 1;
508
  }
509
  }
510
 
 
 
 
 
 
 
 
 
 
 
 
511
  @media (max-width: 768px) {
512
  .row {
513
  flex-wrap: wrap;
@@ -516,17 +201,21 @@ mat-dialog-actions {
516
  flex: 1 1 100%;
517
  }
518
 
 
519
  .type-field {
520
  flex: 1 1 100%;
521
  }
522
  }
523
- }
524
-
525
- .code-editor {
526
- font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
527
- font-size: 13px;
528
- line-height: 1.5;
529
- tab-size: 2;
530
- -moz-tab-size: 2;
531
- white-space: pre;
 
 
 
532
  }
 
1
  .tab-content {
2
+ padding: 24px 0;
3
+
4
+ mat-form-field {
5
+ display: block;
6
+ margin-bottom: 16px;
7
+ }
8
 
9
  h3 {
10
  margin-top: 10px;
 
12
  }
13
  }
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  .full-width {
16
  width: 100%;
17
  }
18
 
19
+ // Row layout
20
+ .row {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  display: flex;
22
+ gap: 12px;
23
  align-items: flex-start;
24
+
25
  mat-form-field {
26
  flex: 1;
27
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
+ .method-field {
30
+ flex: 0 0 150px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  }
 
 
 
 
 
 
32
 
33
+ .timeout-field {
34
+ flex: 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  }
36
 
37
+ .type-field {
38
+ flex: 0 0 150px;
39
  }
40
 
41
+ .path-field {
42
+ flex: 1;
 
 
 
 
 
 
 
 
 
 
 
43
  }
44
  }
45
 
46
+ // Headers array section
47
  .array-section {
48
  .section-header {
49
  display: flex;
 
73
  min-width: 200px;
74
  }
75
 
 
76
  > button[mat-icon-button] {
77
+ margin-top: 8px;
78
  }
79
  }
80
 
 
88
  }
89
  }
90
 
91
+ // Response mappings
92
+ .mapping-content {
93
+ padding: 16px 0;
94
+
95
+ mat-form-field {
96
+ display: block;
97
+ width: 100%;
98
+ margin-bottom: 16px;
99
+ }
100
+ }
101
+
102
+ // Retry section
103
+ .retry-section {
104
+ margin-top: 24px;
105
+
106
+ h3 {
107
+ margin-bottom: 16px;
108
+ font-size: 16px;
109
+ }
110
+ }
111
+
112
+ // Test section
113
+ .test-section {
114
+ h3 {
115
+ margin-bottom: 16px;
116
+ }
117
+
118
+ .test-controls {
119
+ display: flex;
120
+ gap: 12px;
121
+ margin-bottom: 16px;
122
+ }
123
+
124
+ .test-result {
125
+ margin-top: 24px;
126
+ padding: 16px;
127
+ border-radius: 4px;
128
+
129
+ &.success {
130
+ background-color: #e8f5e9;
131
+ border: 1px solid #4caf50;
132
+ }
133
+
134
+ &.error {
135
+ background-color: #ffebee;
136
+ border: 1px solid #f44336;
137
+ }
138
+
139
+ h4 {
140
+ margin-top: 0;
141
+ }
142
+
143
+ .result-status {
144
+ display: flex;
145
+ align-items: center;
146
+ gap: 8px;
147
+ margin-bottom: 16px;
148
 
149
+ mat-icon {
150
+ &.mat-icon {
151
+ color: inherit;
152
+ }
153
  }
154
  }
155
  }
156
  }
157
 
158
+ // Auth section
159
+ .auth-section {
160
+ margin-top: 16px;
 
161
 
162
+ h3 {
163
+ margin: 24px 0 16px;
164
+ font-size: 16px;
165
  }
166
+ }
167
+
168
+ // Info text
169
+ .info-text {
170
+ color: #666;
171
+ font-size: 14px;
172
+ margin-bottom: 16px;
173
+ }
174
+
175
+ // Spinning icon animation
176
+ @keyframes spin {
177
+ from {
178
+ transform: rotate(0deg);
179
  }
180
+ to {
181
+ transform: rotate(360deg);
 
182
  }
183
  }
184
 
185
+ .spin {
186
+ animation: spin 1s linear infinite;
187
+ }
188
+
189
+ // Dialog actions
190
+ mat-dialog-actions {
191
+ padding: 16px 24px !important;
192
+ margin: 0 !important;
193
+ }
194
+
195
+ // Responsive
196
  @media (max-width: 768px) {
197
  .row {
198
  flex-wrap: wrap;
 
201
  flex: 1 1 100%;
202
  }
203
 
204
+ .method-field,
205
  .type-field {
206
  flex: 1 1 100%;
207
  }
208
  }
209
+
210
+ .array-section {
211
+ .array-item {
212
+ flex-wrap: wrap;
213
+
214
+ .key-field,
215
+ .value-field {
216
+ flex: 1 1 100%;
217
+ min-width: unset;
218
+ }
219
+ }
220
+ }
221
  }