ciyidogan commited on
Commit
07ed1a3
·
verified ·
1 Parent(s): ec47b19

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,327 +1,370 @@
1
- .tab-content {
2
- padding: 24px;
3
- overflow-y: auto;
4
- max-height: calc(80vh - 200px);
5
- }
6
-
7
- .section-title {
8
- font-size: 16px;
9
- font-weight: 500;
10
- margin: 24px 0 16px 0;
11
- color: #666;
12
-
13
- &:first-child {
14
- margin-top: 0;
15
- }
16
- }
17
-
18
- .section-header {
19
- display: flex;
20
- justify-content: space-between;
21
- align-items: center;
22
- margin-bottom: 16px;
23
-
24
- h4 {
25
- margin: 0;
26
- font-size: 16px;
27
- font-weight: 500;
28
- }
29
- }
30
-
31
- .form-section {
32
- margin-bottom: 24px;
33
- }
34
-
35
- .section-label {
36
- display: block;
37
- margin-bottom: 8px;
38
- font-size: 14px;
39
- font-weight: 500;
40
- color: rgba(0, 0, 0, 0.87);
41
- }
42
-
43
- .full-width {
44
- width: 100%;
45
- }
46
-
47
- .headers-list {
48
- .header-row {
49
- display: flex;
50
- gap: 16px;
51
- align-items: flex-start;
52
- margin-bottom: 16px;
53
-
54
- mat-form-field {
55
- flex: 1;
56
- }
57
-
58
- .header-value {
59
- flex: 2;
60
- }
61
-
62
- button {
63
- margin-top: 8px;
64
- }
65
- }
66
- }
67
-
68
- .response-mappings-list {
69
- .mapping-row {
70
- display: flex;
71
- gap: 16px;
72
- align-items: flex-start;
73
- margin-bottom: 16px;
74
-
75
- mat-form-field {
76
- flex: 1;
77
- }
78
-
79
- .json-path-field {
80
- flex: 2;
81
- }
82
-
83
- button {
84
- margin-top: 8px;
85
- }
86
- }
87
- }
88
-
89
- .empty-state {
90
- text-align: center;
91
- padding: 24px;
92
- background-color: #f5f5f5;
93
- border-radius: 4px;
94
- margin: 16px 0;
95
-
96
- mat-icon {
97
- font-size: 48px;
98
- width: 48px;
99
- height: 48px;
100
- color: #ccc;
101
- }
102
-
103
- p {
104
- margin-top: 16px;
105
- color: #666;
106
- }
107
- }
108
-
109
- .empty-state-small {
110
- text-align: center;
111
- padding: 16px;
112
- background-color: #f5f5f5;
113
- border-radius: 4px;
114
- margin: 16px 0;
115
-
116
- mat-icon {
117
- font-size: 24px;
118
- width: 24px;
119
- height: 24px;
120
- color: #ccc;
121
- }
122
-
123
- p {
124
- margin-top: 8px;
125
- font-size: 14px;
126
- color: #666;
127
- }
128
- }
129
-
130
- .auth-settings {
131
- margin-top: 16px;
132
- }
133
-
134
- .retry-settings {
135
- display: flex;
136
- gap: 16px;
137
- align-items: flex-start;
138
-
139
- mat-form-field {
140
- flex: 1;
141
- }
142
- }
143
-
144
- .template-helpers {
145
- margin-top: 8px;
146
-
147
- .template-list {
148
- display: flex;
149
- flex-wrap: wrap;
150
- gap: 8px;
151
- padding: 16px;
152
- }
153
-
154
- .template-chip {
155
- cursor: pointer;
156
- transition: all 0.2s;
157
-
158
- &:hover {
159
- transform: scale(1.05);
160
- box-shadow: 0 2px 4px rgba(0,0,0,0.2);
161
- }
162
- }
163
-
164
- .hint-text {
165
- padding: 16px;
166
- color: #666;
167
- font-size: 14px;
168
- line-height: 1.5;
169
- }
170
- }
171
-
172
- .json-editor {
173
- position: relative;
174
-
175
- .json-textarea {
176
- width: 100%;
177
- font-family: 'Monaco', 'Consolas', monospace;
178
- font-size: 13px;
179
- padding: 12px;
180
- border: 1px solid #ccc;
181
- border-radius: 4px;
182
- background-color: #f8f8f8;
183
- resize: vertical;
184
- min-height: 120px;
185
-
186
- &:focus {
187
- outline: none;
188
- border-color: #3f51b5;
189
- background-color: #fff;
190
- }
191
- }
192
-
193
- button {
194
- margin-top: 8px;
195
- }
196
- }
197
-
198
- .test-section {
199
- .test-info {
200
- margin-bottom: 24px;
201
- }
202
-
203
- .test-result {
204
- margin-top: 24px;
205
-
206
- .result-status {
207
- display: flex;
208
- align-items: center;
209
- gap: 12px;
210
- padding: 16px;
211
- border-radius: 4px;
212
- margin-bottom: 16px;
213
-
214
- &.success {
215
- background-color: #e8f5e9;
216
- color: #2e7d32;
217
- }
218
-
219
- &.error {
220
- background-color: #ffebee;
221
- color: #c62828;
222
- }
223
-
224
- mat-icon {
225
- font-size: 28px;
226
- width: 28px;
227
- height: 28px;
228
- }
229
-
230
- .status-code,
231
- .response-time {
232
- margin-left: auto;
233
- font-size: 14px;
234
- opacity: 0.8;
235
- }
236
- }
237
-
238
- .error-message {
239
- display: flex;
240
- align-items: center;
241
- gap: 8px;
242
- padding: 12px;
243
- background-color: #ffebee;
244
- color: #c62828;
245
- border-radius: 4px;
246
- margin-bottom: 16px;
247
- }
248
-
249
- .response-section {
250
- margin-bottom: 16px;
251
-
252
- h5 {
253
- margin-bottom: 8px;
254
- font-size: 14px;
255
- font-weight: 500;
256
- }
257
-
258
- pre {
259
- padding: 12px;
260
- background-color: #f5f5f5;
261
- border-radius: 4px;
262
- overflow-x: auto;
263
- font-size: 12px;
264
- margin: 0;
265
- white-space: pre-wrap;
266
- word-break: break-word;
267
- }
268
- }
269
- }
270
-
271
- .test-note {
272
- display: flex;
273
- align-items: flex-start;
274
- gap: 8px;
275
- padding: 12px;
276
- background-color: #e3f2fd;
277
- border-radius: 4px;
278
- margin-top: 16px;
279
-
280
- mat-icon {
281
- color: #1976d2;
282
- font-size: 20px;
283
- width: 20px;
284
- height: 20px;
285
- }
286
-
287
- p {
288
- margin: 0;
289
- font-size: 14px;
290
- color: #1976d2;
291
- }
292
- }
293
- }
294
-
295
- mat-dialog-actions {
296
- padding: 16px 24px;
297
- margin: 0;
298
- border-top: 1px solid #e0e0e0;
299
- }
300
-
301
- .mat-mdc-form-field {
302
- margin-bottom: 16px;
303
- }
304
-
305
- .mat-mdc-dialog-content {
306
- padding: 0;
307
- overflow: hidden;
308
- min-height: 500px;
309
- max-height: 80vh;
310
- display: flex;
311
- flex-direction: column;
312
- }
313
-
314
- .mat-mdc-tab-group {
315
- flex: 1;
316
- display: flex;
317
- flex-direction: column;
318
- }
319
-
320
- .mat-mdc-tab-body-wrapper {
321
- flex: 1;
322
- overflow: auto;
323
- }
324
-
325
- .mat-mdc-chip-set .mat-mdc-chip {
326
- margin: 0 4px 4px 0 !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  }
 
1
+ .tab-content {
2
+ padding: 24px;
3
+ overflow-y: auto;
4
+ max-height: calc(80vh - 200px);
5
+ }
6
+
7
+ .section-title {
8
+ font-size: 16px;
9
+ font-weight: 500;
10
+ margin: 24px 0 16px 0;
11
+ color: #666;
12
+
13
+ &:first-child {
14
+ margin-top: 0;
15
+ }
16
+ }
17
+
18
+ .section-header {
19
+ display: flex;
20
+ justify-content: space-between;
21
+ align-items: center;
22
+ margin-bottom: 16px;
23
+
24
+ h4 {
25
+ margin: 0;
26
+ font-size: 16px;
27
+ font-weight: 500;
28
+ }
29
+ }
30
+
31
+ .form-section {
32
+ margin-bottom: 24px;
33
+ }
34
+
35
+ .section-label {
36
+ display: block;
37
+ margin-bottom: 8px;
38
+ font-size: 14px;
39
+ font-weight: 500;
40
+ color: rgba(0, 0, 0, 0.87);
41
+ }
42
+
43
+ .full-width {
44
+ width: 100%;
45
+ }
46
+
47
+ .headers-list {
48
+ .header-row {
49
+ display: flex;
50
+ gap: 16px;
51
+ align-items: flex-start;
52
+ margin-bottom: 16px;
53
+
54
+ mat-form-field {
55
+ flex: 1;
56
+ }
57
+
58
+ .header-value {
59
+ flex: 2;
60
+ }
61
+
62
+ button {
63
+ margin-top: 8px;
64
+ }
65
+ }
66
+ }
67
+
68
+ .response-mappings-list {
69
+ .mapping-row {
70
+ display: flex;
71
+ gap: 16px;
72
+ align-items: flex-start;
73
+ margin-bottom: 16px;
74
+
75
+ mat-form-field {
76
+ flex: 1;
77
+ }
78
+
79
+ .json-path-field {
80
+ flex: 2;
81
+ }
82
+
83
+ button {
84
+ margin-top: 8px;
85
+ }
86
+ }
87
+ }
88
+
89
+ .empty-state {
90
+ text-align: center;
91
+ padding: 24px;
92
+ background-color: #f5f5f5;
93
+ border-radius: 4px;
94
+ margin: 16px 0;
95
+
96
+ mat-icon {
97
+ font-size: 48px;
98
+ width: 48px;
99
+ height: 48px;
100
+ color: #ccc;
101
+ }
102
+
103
+ p {
104
+ margin-top: 16px;
105
+ color: #666;
106
+ }
107
+ }
108
+
109
+ .empty-state-small {
110
+ text-align: center;
111
+ padding: 16px;
112
+ background-color: #f5f5f5;
113
+ border-radius: 4px;
114
+ margin: 16px 0;
115
+
116
+ mat-icon {
117
+ font-size: 24px;
118
+ width: 24px;
119
+ height: 24px;
120
+ color: #ccc;
121
+ }
122
+
123
+ p {
124
+ margin-top: 8px;
125
+ font-size: 14px;
126
+ color: #666;
127
+ }
128
+ }
129
+
130
+ .auth-settings {
131
+ margin-top: 16px;
132
+ }
133
+
134
+ .retry-settings {
135
+ display: flex;
136
+ gap: 16px;
137
+ align-items: flex-start;
138
+
139
+ mat-form-field {
140
+ flex: 1;
141
+ }
142
+ }
143
+
144
+ .template-helpers {
145
+ margin-top: 8px;
146
+
147
+ .template-list {
148
+ display: flex;
149
+ flex-wrap: wrap;
150
+ gap: 8px;
151
+ padding: 16px;
152
+ }
153
+
154
+ .template-chip {
155
+ cursor: pointer;
156
+ transition: all 0.2s;
157
+
158
+ &:hover {
159
+ transform: scale(1.05);
160
+ box-shadow: 0 2px 4px rgba(0,0,0,0.2);
161
+ }
162
+ }
163
+
164
+ .hint-text {
165
+ padding: 16px;
166
+ color: #666;
167
+ font-size: 14px;
168
+ line-height: 1.5;
169
+ }
170
+ }
171
+
172
+ .json-editor {
173
+ position: relative;
174
+
175
+ .json-textarea {
176
+ width: 100%;
177
+ font-family: 'Monaco', 'Consolas', monospace;
178
+ font-size: 13px;
179
+ padding: 12px;
180
+ border: 1px solid #ccc;
181
+ border-radius: 4px;
182
+ background-color: #f8f8f8;
183
+ resize: vertical;
184
+ min-height: 120px;
185
+
186
+ &:focus {
187
+ outline: none;
188
+ border-color: #3f51b5;
189
+ background-color: #fff;
190
+ }
191
+ }
192
+
193
+ button {
194
+ margin-top: 8px;
195
+ }
196
+ }
197
+
198
+ .test-section {
199
+ .test-info {
200
+ margin-bottom: 24px;
201
+ }
202
+
203
+ .test-result {
204
+ margin-top: 24px;
205
+
206
+ .result-status {
207
+ display: flex;
208
+ align-items: center;
209
+ gap: 12px;
210
+ padding: 16px;
211
+ border-radius: 4px;
212
+ margin-bottom: 16px;
213
+
214
+ &.success {
215
+ background-color: #e8f5e9;
216
+ color: #2e7d32;
217
+ }
218
+
219
+ &.error {
220
+ background-color: #ffebee;
221
+ color: #c62828;
222
+ }
223
+
224
+ mat-icon {
225
+ font-size: 28px;
226
+ width: 28px;
227
+ height: 28px;
228
+ }
229
+
230
+ .status-code,
231
+ .response-time {
232
+ margin-left: auto;
233
+ font-size: 14px;
234
+ opacity: 0.8;
235
+ }
236
+ }
237
+
238
+ .error-message {
239
+ display: flex;
240
+ align-items: center;
241
+ gap: 8px;
242
+ padding: 12px;
243
+ background-color: #ffebee;
244
+ color: #c62828;
245
+ border-radius: 4px;
246
+ margin-bottom: 16px;
247
+ }
248
+
249
+ .response-section {
250
+ margin-bottom: 16px;
251
+
252
+ h5 {
253
+ margin-bottom: 8px;
254
+ font-size: 14px;
255
+ font-weight: 500;
256
+ }
257
+
258
+ pre {
259
+ padding: 12px;
260
+ background-color: #f5f5f5;
261
+ border-radius: 4px;
262
+ overflow-x: auto;
263
+ font-size: 12px;
264
+ margin: 0;
265
+ white-space: pre-wrap;
266
+ word-break: break-word;
267
+ }
268
+ }
269
+ }
270
+
271
+ .test-note {
272
+ display: flex;
273
+ align-items: flex-start;
274
+ gap: 8px;
275
+ padding: 12px;
276
+ background-color: #e3f2fd;
277
+ border-radius: 4px;
278
+ margin-top: 16px;
279
+
280
+ mat-icon {
281
+ color: #1976d2;
282
+ font-size: 20px;
283
+ width: 20px;
284
+ height: 20px;
285
+ }
286
+
287
+ p {
288
+ margin: 0;
289
+ font-size: 14px;
290
+ color: #1976d2;
291
+ }
292
+ }
293
+ }
294
+
295
+ mat-dialog-actions {
296
+ padding: 16px 24px;
297
+ margin: 0;
298
+ border-top: 1px solid #e0e0e0;
299
+ }
300
+
301
+ .mat-mdc-form-field {
302
+ margin-bottom: 16px;
303
+ }
304
+
305
+ .mat-mdc-dialog-content {
306
+ padding: 0;
307
+ overflow: hidden;
308
+ min-height: 500px;
309
+ max-height: 80vh;
310
+ display: flex;
311
+ flex-direction: column;
312
+ }
313
+
314
+ .mat-mdc-tab-group {
315
+ flex: 1;
316
+ display: flex;
317
+ flex-direction: column;
318
+ }
319
+
320
+ .mat-mdc-tab-body-wrapper {
321
+ flex: 1;
322
+ overflow: auto;
323
+ }
324
+
325
+ .mat-mdc-chip-set .mat-mdc-chip {
326
+ margin: 0 4px 4px 0 !important;
327
+ }
328
+
329
+ .json-validation-status {
330
+ display: flex;
331
+ align-items: center;
332
+ gap: 4px;
333
+ margin-top: -12px;
334
+ margin-bottom: 16px;
335
+ font-size: 12px;
336
+
337
+ mat-icon {
338
+ font-size: 16px;
339
+ width: 16px;
340
+ height: 16px;
341
+
342
+ &.valid {
343
+ color: #4caf50;
344
+ }
345
+
346
+ &.invalid {
347
+ color: #f44336;
348
+ }
349
+ }
350
+
351
+ span {
352
+ &.valid {
353
+ color: #4caf50;
354
+ }
355
+
356
+ &.invalid {
357
+ color: #f44336;
358
+ }
359
+ }
360
+ }
361
+
362
+ textarea {
363
+ &.ng-invalid.ng-touched {
364
+ background-color: rgba(244, 67, 54, 0.05);
365
+ }
366
+
367
+ &.ng-valid {
368
+ background-color: rgba(76, 175, 80, 0.05);
369
+ }
370
  }