@pablozaiden/webapp 0.2.2 → 0.3.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.
- package/docs/sidebar.md +3 -6
- package/docs/ui-guidelines.md +8 -4
- package/package.json +1 -1
- package/src/server/auth/sqlite-store.ts +0 -1
- package/src/server/create-web-app-server.ts +19 -3
- package/src/server/route-catalog.ts +1 -1
- package/src/server/routes.ts +8 -1
- package/src/web/WebAppRoot.tsx +47 -20
- package/src/web/components/index.tsx +437 -36
- package/src/web/index.ts +1 -0
- package/src/web/sidebar/types.ts +17 -1
- package/src/web/styles.css +431 -27
package/src/web/styles.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
color-scheme: light;
|
|
3
3
|
--wapp-bg: #f3f4f6;
|
|
4
|
+
--wapp-shell-bg: rgb(249 250 251 / 0.95);
|
|
4
5
|
--wapp-surface: #ffffff;
|
|
5
6
|
--wapp-surface-muted: #f9fafb;
|
|
6
7
|
--wapp-border: #d1d5db;
|
|
@@ -12,12 +13,13 @@
|
|
|
12
13
|
--wapp-danger-bg: #991b1b;
|
|
13
14
|
--wapp-primary: #111827;
|
|
14
15
|
--wapp-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
15
|
-
font-family:
|
|
16
|
+
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
:root.dark {
|
|
19
20
|
color-scheme: dark;
|
|
20
|
-
--wapp-bg: #
|
|
21
|
+
--wapp-bg: #0a0a0a;
|
|
22
|
+
--wapp-shell-bg: rgb(23 23 23 / 0.95);
|
|
21
23
|
--wapp-surface: #262626;
|
|
22
24
|
--wapp-surface-muted: #171717;
|
|
23
25
|
--wapp-border: #374151;
|
|
@@ -48,11 +50,13 @@ body {
|
|
|
48
50
|
overflow: hidden;
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
@layer base {
|
|
54
|
+
button,
|
|
55
|
+
input,
|
|
56
|
+
select,
|
|
57
|
+
textarea {
|
|
58
|
+
font: inherit;
|
|
59
|
+
}
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
input::placeholder,
|
|
@@ -89,15 +93,21 @@ textarea::placeholder {
|
|
|
89
93
|
.wapp-sidebar {
|
|
90
94
|
width: 20rem;
|
|
91
95
|
min-width: 20rem;
|
|
96
|
+
min-height: 0;
|
|
92
97
|
height: 100vh;
|
|
93
98
|
display: flex;
|
|
94
99
|
flex-direction: column;
|
|
100
|
+
overflow: hidden;
|
|
95
101
|
border-right: 1px solid var(--wapp-border-soft);
|
|
96
|
-
background:
|
|
102
|
+
background: var(--wapp-shell-bg);
|
|
97
103
|
backdrop-filter: blur(8px);
|
|
98
104
|
transition: width 180ms ease, min-width 180ms ease, transform 180ms ease, opacity 180ms ease;
|
|
99
105
|
}
|
|
100
106
|
|
|
107
|
+
:root.dark .wapp-sidebar {
|
|
108
|
+
background: var(--wapp-shell-bg);
|
|
109
|
+
}
|
|
110
|
+
|
|
101
111
|
.wapp-shell.sidebar-collapsed .wapp-sidebar {
|
|
102
112
|
width: 0;
|
|
103
113
|
min-width: 0;
|
|
@@ -117,6 +127,11 @@ textarea::placeholder {
|
|
|
117
127
|
background: var(--wapp-surface);
|
|
118
128
|
}
|
|
119
129
|
|
|
130
|
+
:root.dark .wapp-sidebar-header,
|
|
131
|
+
:root.dark .wapp-main-header {
|
|
132
|
+
border-bottom-color: var(--wapp-border);
|
|
133
|
+
}
|
|
134
|
+
|
|
120
135
|
.wapp-sidebar-header {
|
|
121
136
|
justify-content: space-between;
|
|
122
137
|
padding: 0.5rem 1rem;
|
|
@@ -129,16 +144,22 @@ textarea::placeholder {
|
|
|
129
144
|
|
|
130
145
|
.wapp-main-header-title {
|
|
131
146
|
display: flex;
|
|
147
|
+
flex: 1 1 auto;
|
|
132
148
|
min-width: 0;
|
|
133
149
|
align-items: center;
|
|
134
150
|
gap: 0.75rem;
|
|
151
|
+
overflow: hidden;
|
|
135
152
|
}
|
|
136
153
|
|
|
137
154
|
.wapp-main-header-actions {
|
|
138
155
|
display: flex;
|
|
139
156
|
flex: 0 0 auto;
|
|
157
|
+
min-width: max-content;
|
|
158
|
+
max-width: none;
|
|
140
159
|
align-items: center;
|
|
160
|
+
justify-content: flex-end;
|
|
141
161
|
gap: 0.5rem;
|
|
162
|
+
overflow: visible;
|
|
142
163
|
}
|
|
143
164
|
|
|
144
165
|
.wapp-brand {
|
|
@@ -166,8 +187,10 @@ textarea::placeholder {
|
|
|
166
187
|
|
|
167
188
|
.wapp-icon-button {
|
|
168
189
|
display: inline-flex;
|
|
190
|
+
flex: 0 0 2.5rem;
|
|
169
191
|
align-items: center;
|
|
170
192
|
justify-content: center;
|
|
193
|
+
min-width: 2.5rem;
|
|
171
194
|
width: 2.5rem;
|
|
172
195
|
height: 2.5rem;
|
|
173
196
|
border: 1px solid var(--wapp-border-soft);
|
|
@@ -190,14 +213,31 @@ textarea::placeholder {
|
|
|
190
213
|
}
|
|
191
214
|
|
|
192
215
|
.wapp-sidebar-top-button {
|
|
216
|
+
flex: 0 0 2.5rem;
|
|
217
|
+
min-width: 2.5rem;
|
|
218
|
+
width: 2.5rem;
|
|
219
|
+
height: 2.5rem;
|
|
220
|
+
border-color: var(--wapp-border-soft);
|
|
221
|
+
background: #ffffff;
|
|
222
|
+
color: var(--wapp-muted);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.wapp-sidebar-top-button:hover,
|
|
226
|
+
.wapp-sidebar-top-button.active {
|
|
227
|
+
border-color: var(--wapp-border);
|
|
228
|
+
background: #ffffff;
|
|
229
|
+
color: var(--wapp-text);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
:root.dark .wapp-sidebar-top-button {
|
|
193
233
|
border-color: #262626;
|
|
194
234
|
background: #171717;
|
|
195
235
|
color: #e5e7eb;
|
|
196
236
|
box-shadow: 0 1px 2px rgb(0 0 0 / 0.24);
|
|
197
237
|
}
|
|
198
238
|
|
|
199
|
-
.wapp-sidebar-top-button:hover,
|
|
200
|
-
.wapp-sidebar-top-button.active {
|
|
239
|
+
:root.dark .wapp-sidebar-top-button:hover,
|
|
240
|
+
:root.dark .wapp-sidebar-top-button.active {
|
|
201
241
|
border-color: #404040;
|
|
202
242
|
background: #171717;
|
|
203
243
|
color: #ffffff;
|
|
@@ -216,6 +256,7 @@ textarea::placeholder {
|
|
|
216
256
|
.wapp-sidebar-scroll {
|
|
217
257
|
flex: 1;
|
|
218
258
|
overflow-y: auto;
|
|
259
|
+
overflow-x: hidden;
|
|
219
260
|
padding: 1rem 0.75rem;
|
|
220
261
|
}
|
|
221
262
|
|
|
@@ -238,19 +279,29 @@ textarea::placeholder {
|
|
|
238
279
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--wapp-muted), transparent 70%);
|
|
239
280
|
}
|
|
240
281
|
|
|
241
|
-
.wapp-sidebar-section {
|
|
282
|
+
.wapp-sidebar-section.top {
|
|
242
283
|
margin-bottom: 1.5rem;
|
|
243
284
|
}
|
|
244
285
|
|
|
286
|
+
.wapp-sidebar-section.nested {
|
|
287
|
+
margin-bottom: 0.25rem;
|
|
288
|
+
}
|
|
289
|
+
|
|
245
290
|
.wapp-sidebar-section-title {
|
|
246
291
|
display: flex;
|
|
247
292
|
align-items: center;
|
|
248
293
|
justify-content: space-between;
|
|
294
|
+
min-width: 0;
|
|
249
295
|
gap: 0.5rem;
|
|
250
296
|
margin-bottom: 0.5rem;
|
|
251
297
|
}
|
|
252
298
|
|
|
253
|
-
.wapp-sidebar-section-title
|
|
299
|
+
.wapp-sidebar-section.nested .wapp-sidebar-section-title {
|
|
300
|
+
margin-bottom: 0.25rem;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.wapp-sidebar-section-title button:first-child,
|
|
304
|
+
.wapp-sidebar-section-label {
|
|
254
305
|
display: inline-flex;
|
|
255
306
|
align-items: center;
|
|
256
307
|
gap: 0.5rem;
|
|
@@ -266,7 +317,38 @@ textarea::placeholder {
|
|
|
266
317
|
text-align: left;
|
|
267
318
|
}
|
|
268
319
|
|
|
320
|
+
.wapp-sidebar-section-title button:first-child {
|
|
321
|
+
flex: 1;
|
|
322
|
+
min-width: 0;
|
|
323
|
+
overflow: hidden;
|
|
324
|
+
text-overflow: ellipsis;
|
|
325
|
+
white-space: nowrap;
|
|
326
|
+
border-radius: 0.5rem;
|
|
327
|
+
margin-left: -0.5rem;
|
|
328
|
+
padding: 0.25rem 0.5rem;
|
|
329
|
+
transition: background 120ms ease, color 120ms ease;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.wapp-sidebar-section-title button:first-child:hover {
|
|
333
|
+
background: #f3f4f6;
|
|
334
|
+
color: var(--wapp-text);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
:root.dark .wapp-sidebar-section-title button:first-child:hover {
|
|
338
|
+
background: rgb(38 38 38 / 0.8);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.wapp-sidebar-section-label {
|
|
342
|
+
cursor: default;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.wapp-sidebar-section.nested .wapp-sidebar-section-title button:first-child,
|
|
346
|
+
.wapp-sidebar-section.nested .wapp-sidebar-section-label {
|
|
347
|
+
font-size: 0.6875rem;
|
|
348
|
+
}
|
|
349
|
+
|
|
269
350
|
.wapp-sidebar-action {
|
|
351
|
+
flex: 0 0 auto;
|
|
270
352
|
border: 0;
|
|
271
353
|
background: transparent;
|
|
272
354
|
color: var(--wapp-muted);
|
|
@@ -293,6 +375,8 @@ textarea::placeholder {
|
|
|
293
375
|
|
|
294
376
|
.wapp-sidebar-item-wrap {
|
|
295
377
|
margin: 0.25rem 0;
|
|
378
|
+
max-width: 100%;
|
|
379
|
+
min-width: 0;
|
|
296
380
|
}
|
|
297
381
|
|
|
298
382
|
.wapp-sidebar-item-wrap.has-toggle {
|
|
@@ -305,26 +389,30 @@ textarea::placeholder {
|
|
|
305
389
|
.wapp-sidebar-item-wrap.has-toggle > .wapp-sidebar-item {
|
|
306
390
|
width: auto;
|
|
307
391
|
flex: 1;
|
|
392
|
+
min-width: 0;
|
|
308
393
|
}
|
|
309
394
|
|
|
310
395
|
.wapp-sidebar-children {
|
|
311
396
|
flex-basis: 100%;
|
|
312
|
-
|
|
397
|
+
min-width: 0;
|
|
398
|
+
padding-left: 0.375rem;
|
|
313
399
|
}
|
|
314
400
|
|
|
315
401
|
.wapp-sidebar-item {
|
|
316
402
|
width: 100%;
|
|
317
|
-
min-
|
|
403
|
+
min-width: 0;
|
|
404
|
+
max-width: 100%;
|
|
405
|
+
min-height: 2.5rem;
|
|
318
406
|
display: flex;
|
|
319
407
|
align-items: center;
|
|
320
408
|
justify-content: space-between;
|
|
321
|
-
gap: 0.
|
|
409
|
+
gap: 0.625rem;
|
|
322
410
|
border: 1px solid transparent;
|
|
323
411
|
border-radius: 0.75rem;
|
|
324
412
|
background: transparent;
|
|
325
413
|
color: var(--wapp-text);
|
|
326
414
|
cursor: pointer;
|
|
327
|
-
padding: 0.
|
|
415
|
+
padding: 0.5rem 0.75rem 0.5rem 0.25rem;
|
|
328
416
|
text-align: left;
|
|
329
417
|
}
|
|
330
418
|
|
|
@@ -351,18 +439,33 @@ textarea::placeholder {
|
|
|
351
439
|
color: #030712;
|
|
352
440
|
}
|
|
353
441
|
|
|
442
|
+
.wapp-sidebar-item > span:first-child {
|
|
443
|
+
min-width: 0;
|
|
444
|
+
flex: 1 1 auto;
|
|
445
|
+
overflow: hidden;
|
|
446
|
+
}
|
|
447
|
+
|
|
354
448
|
.wapp-sidebar-item strong {
|
|
355
449
|
display: block;
|
|
450
|
+
min-width: 0;
|
|
451
|
+
overflow: hidden;
|
|
452
|
+
text-overflow: ellipsis;
|
|
453
|
+
white-space: normal;
|
|
356
454
|
font-size: 0.875rem;
|
|
357
455
|
font-weight: 500;
|
|
358
|
-
line-height: 1.
|
|
456
|
+
line-height: 1.25rem;
|
|
359
457
|
}
|
|
360
458
|
|
|
361
459
|
.wapp-sidebar-item small {
|
|
362
460
|
display: block;
|
|
461
|
+
min-width: 0;
|
|
462
|
+
overflow: hidden;
|
|
463
|
+
text-overflow: ellipsis;
|
|
464
|
+
white-space: nowrap;
|
|
363
465
|
color: var(--wapp-muted);
|
|
364
466
|
font-size: 0.75rem;
|
|
365
467
|
margin-top: 0.125rem;
|
|
468
|
+
line-height: 1rem;
|
|
366
469
|
}
|
|
367
470
|
|
|
368
471
|
:root.dark .wapp-sidebar-item.active small {
|
|
@@ -375,9 +478,9 @@ textarea::placeholder {
|
|
|
375
478
|
color: var(--wapp-muted);
|
|
376
479
|
cursor: pointer;
|
|
377
480
|
flex: 0 0 auto;
|
|
378
|
-
height:
|
|
481
|
+
height: 2rem;
|
|
379
482
|
width: 0.875rem;
|
|
380
|
-
margin: 0.
|
|
483
|
+
margin: 0.25rem 0 0 0;
|
|
381
484
|
border-radius: 0.5rem;
|
|
382
485
|
font-size: 0.6875rem;
|
|
383
486
|
line-height: 1;
|
|
@@ -397,8 +500,8 @@ textarea::placeholder {
|
|
|
397
500
|
display: flex;
|
|
398
501
|
align-items: center;
|
|
399
502
|
justify-content: space-between;
|
|
400
|
-
min-height:
|
|
401
|
-
padding: 0
|
|
503
|
+
min-height: 2rem;
|
|
504
|
+
padding: 0.25rem 0.25rem 0;
|
|
402
505
|
color: var(--wapp-muted-2);
|
|
403
506
|
font-size: 0.75rem;
|
|
404
507
|
}
|
|
@@ -430,16 +533,23 @@ textarea::placeholder {
|
|
|
430
533
|
}
|
|
431
534
|
|
|
432
535
|
.wapp-main-header h1 {
|
|
536
|
+
min-width: 0;
|
|
537
|
+
overflow: hidden;
|
|
538
|
+
text-overflow: ellipsis;
|
|
539
|
+
white-space: nowrap;
|
|
433
540
|
margin: 0;
|
|
434
541
|
font-size: 1rem;
|
|
435
542
|
font-weight: 700;
|
|
436
|
-
text-transform:
|
|
543
|
+
text-transform: none;
|
|
437
544
|
}
|
|
438
545
|
|
|
439
546
|
.wapp-main-content {
|
|
547
|
+
display: flex;
|
|
548
|
+
flex-direction: column;
|
|
440
549
|
flex: 1;
|
|
441
550
|
min-height: 0;
|
|
442
551
|
overflow: auto;
|
|
552
|
+
overflow-x: hidden;
|
|
443
553
|
padding: 1.5rem 2rem 2rem;
|
|
444
554
|
}
|
|
445
555
|
|
|
@@ -716,6 +826,10 @@ textarea::placeholder {
|
|
|
716
826
|
}
|
|
717
827
|
|
|
718
828
|
.wapp-button {
|
|
829
|
+
display: inline-flex;
|
|
830
|
+
align-items: center;
|
|
831
|
+
justify-content: center;
|
|
832
|
+
gap: 0.5rem;
|
|
719
833
|
min-height: 2.375rem;
|
|
720
834
|
border: 1px solid var(--wapp-border);
|
|
721
835
|
border-radius: 0.5rem;
|
|
@@ -729,6 +843,21 @@ textarea::placeholder {
|
|
|
729
843
|
transition: background 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease;
|
|
730
844
|
}
|
|
731
845
|
|
|
846
|
+
.wapp-button-spinner {
|
|
847
|
+
width: 1rem;
|
|
848
|
+
height: 1rem;
|
|
849
|
+
border: 2px solid currentColor;
|
|
850
|
+
border-top-color: transparent;
|
|
851
|
+
border-radius: 999px;
|
|
852
|
+
animation: wapp-spin 0.7s linear infinite;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
@keyframes wapp-spin {
|
|
856
|
+
to {
|
|
857
|
+
transform: rotate(360deg);
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
|
|
732
861
|
.wapp-button:hover:not(:disabled) {
|
|
733
862
|
border-color: var(--wapp-muted);
|
|
734
863
|
background: color-mix(in srgb, var(--wapp-surface), var(--wapp-muted) 12%);
|
|
@@ -778,6 +907,19 @@ textarea::placeholder {
|
|
|
778
907
|
transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
|
|
779
908
|
}
|
|
780
909
|
|
|
910
|
+
.wapp-action-menu-trigger-ghost {
|
|
911
|
+
border-color: transparent;
|
|
912
|
+
background: transparent;
|
|
913
|
+
color: var(--wapp-fg);
|
|
914
|
+
box-shadow: none;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
.wapp-action-menu-trigger-compact {
|
|
918
|
+
min-width: 2rem;
|
|
919
|
+
min-height: 2rem;
|
|
920
|
+
border-radius: 0.5rem;
|
|
921
|
+
}
|
|
922
|
+
|
|
781
923
|
.wapp-action-menu-trigger:hover:not(:disabled),
|
|
782
924
|
.wapp-action-menu-trigger[aria-expanded="true"] {
|
|
783
925
|
border-color: var(--wapp-primary);
|
|
@@ -839,6 +981,10 @@ textarea::placeholder {
|
|
|
839
981
|
color: var(--wapp-danger);
|
|
840
982
|
}
|
|
841
983
|
|
|
984
|
+
:root.dark .wapp-action-menu-item.danger {
|
|
985
|
+
color: var(--wapp-danger);
|
|
986
|
+
}
|
|
987
|
+
|
|
842
988
|
.wapp-action-menu-item.danger:hover:not(:disabled) {
|
|
843
989
|
background: color-mix(in srgb, var(--wapp-danger-bg), transparent 88%);
|
|
844
990
|
}
|
|
@@ -865,14 +1011,112 @@ textarea::placeholder {
|
|
|
865
1011
|
padding: 0.125rem 0.5rem;
|
|
866
1012
|
}
|
|
867
1013
|
|
|
868
|
-
.wapp-badge
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
1014
|
+
.wapp-sidebar-badge {
|
|
1015
|
+
flex: 0 0 auto;
|
|
1016
|
+
width: 0.625rem;
|
|
1017
|
+
height: 0.625rem;
|
|
1018
|
+
overflow: hidden;
|
|
1019
|
+
padding: 0;
|
|
1020
|
+
color: transparent;
|
|
1021
|
+
font-size: 0;
|
|
1022
|
+
line-height: 0;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
.wapp-badge-success,
|
|
1026
|
+
.wapp-badge-completed {
|
|
1027
|
+
background: rgb(220 252 231);
|
|
1028
|
+
color: rgb(22 101 52);
|
|
1029
|
+
}
|
|
1030
|
+
.wapp-badge-warning,
|
|
1031
|
+
.wapp-badge-plan_ready {
|
|
1032
|
+
background: rgb(254 243 199);
|
|
1033
|
+
color: rgb(146 64 14);
|
|
1034
|
+
}
|
|
1035
|
+
.wapp-badge-error,
|
|
1036
|
+
.wapp-badge-failed {
|
|
1037
|
+
background: rgb(254 226 226);
|
|
1038
|
+
color: rgb(153 27 27);
|
|
1039
|
+
}
|
|
1040
|
+
.wapp-badge-info,
|
|
1041
|
+
.wapp-badge-running {
|
|
1042
|
+
background: rgb(219 234 254);
|
|
1043
|
+
color: rgb(30 64 175);
|
|
1044
|
+
}
|
|
1045
|
+
.wapp-badge-disabled,
|
|
1046
|
+
.wapp-badge-stopped,
|
|
1047
|
+
.wapp-badge-idle {
|
|
1048
|
+
background: rgb(243 244 246);
|
|
1049
|
+
color: rgb(31 41 55);
|
|
1050
|
+
}
|
|
1051
|
+
.wapp-badge-planning {
|
|
1052
|
+
background: rgb(207 250 254);
|
|
1053
|
+
color: rgb(21 94 117);
|
|
1054
|
+
}
|
|
1055
|
+
.wapp-badge-merged {
|
|
1056
|
+
background: rgb(243 232 255);
|
|
1057
|
+
color: rgb(107 33 168);
|
|
1058
|
+
}
|
|
1059
|
+
.wapp-badge-pushed {
|
|
1060
|
+
background: rgb(224 231 255);
|
|
1061
|
+
color: rgb(55 48 163);
|
|
1062
|
+
}
|
|
1063
|
+
.wapp-badge-deleted {
|
|
1064
|
+
background: rgb(243 244 246);
|
|
1065
|
+
color: rgb(107 114 128);
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
:root.dark .wapp-badge-success,
|
|
1069
|
+
:root.dark .wapp-badge-completed {
|
|
1070
|
+
background: rgb(20 83 45);
|
|
1071
|
+
color: rgb(134 239 172);
|
|
1072
|
+
}
|
|
1073
|
+
:root.dark .wapp-badge-warning,
|
|
1074
|
+
:root.dark .wapp-badge-plan_ready {
|
|
1075
|
+
background: rgb(120 53 15);
|
|
1076
|
+
color: rgb(252 211 77);
|
|
1077
|
+
}
|
|
1078
|
+
:root.dark .wapp-badge-error,
|
|
1079
|
+
:root.dark .wapp-badge-failed {
|
|
1080
|
+
background: rgb(127 29 29);
|
|
1081
|
+
color: rgb(252 165 165);
|
|
1082
|
+
}
|
|
1083
|
+
:root.dark .wapp-badge-info,
|
|
1084
|
+
:root.dark .wapp-badge-running,
|
|
1085
|
+
:root.dark .wapp-badge-planning,
|
|
1086
|
+
:root.dark .wapp-badge-merged,
|
|
1087
|
+
:root.dark .wapp-badge-pushed,
|
|
1088
|
+
:root.dark .wapp-badge-deleted {
|
|
1089
|
+
background: rgb(38 38 38);
|
|
1090
|
+
}
|
|
1091
|
+
:root.dark .wapp-badge-info,
|
|
1092
|
+
:root.dark .wapp-badge-running {
|
|
1093
|
+
color: rgb(147 197 253);
|
|
1094
|
+
}
|
|
1095
|
+
:root.dark .wapp-badge-planning {
|
|
1096
|
+
color: rgb(103 232 249);
|
|
1097
|
+
}
|
|
1098
|
+
:root.dark .wapp-badge-merged {
|
|
1099
|
+
color: rgb(216 180 254);
|
|
1100
|
+
}
|
|
1101
|
+
:root.dark .wapp-badge-pushed {
|
|
1102
|
+
color: rgb(165 180 252);
|
|
1103
|
+
}
|
|
1104
|
+
:root.dark .wapp-badge-deleted {
|
|
1105
|
+
color: rgb(107 114 128);
|
|
1106
|
+
}
|
|
1107
|
+
:root.dark .wapp-badge-disabled,
|
|
1108
|
+
:root.dark .wapp-badge-stopped,
|
|
1109
|
+
:root.dark .wapp-badge-idle {
|
|
1110
|
+
background: rgb(64 64 64);
|
|
1111
|
+
color: rgb(209 213 219);
|
|
1112
|
+
}
|
|
873
1113
|
|
|
874
1114
|
.wapp-settings {
|
|
1115
|
+
height: 100%;
|
|
1116
|
+
overflow: auto;
|
|
875
1117
|
max-width: none;
|
|
1118
|
+
background: var(--wapp-shell-bg);
|
|
1119
|
+
padding: 1.5rem 2rem 2rem;
|
|
876
1120
|
font-size: 0.875rem;
|
|
877
1121
|
}
|
|
878
1122
|
|
|
@@ -882,6 +1126,10 @@ textarea::placeholder {
|
|
|
882
1126
|
margin-bottom: 2.5rem;
|
|
883
1127
|
}
|
|
884
1128
|
|
|
1129
|
+
.wapp-custom-settings-section {
|
|
1130
|
+
margin-bottom: 2.5rem;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
885
1133
|
.wapp-form-section + .wapp-form-section {
|
|
886
1134
|
border-top: 0;
|
|
887
1135
|
}
|
|
@@ -1319,6 +1567,161 @@ textarea::placeholder {
|
|
|
1319
1567
|
padding: 1rem 1.5rem;
|
|
1320
1568
|
}
|
|
1321
1569
|
|
|
1570
|
+
.wapp-modal-layer {
|
|
1571
|
+
position: fixed;
|
|
1572
|
+
inset: 0;
|
|
1573
|
+
z-index: 80;
|
|
1574
|
+
display: flex;
|
|
1575
|
+
align-items: center;
|
|
1576
|
+
justify-content: center;
|
|
1577
|
+
min-width: 0;
|
|
1578
|
+
overflow-x: hidden;
|
|
1579
|
+
overflow-y: auto;
|
|
1580
|
+
padding: 0.5rem;
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
.wapp-modal-overlay {
|
|
1584
|
+
position: absolute;
|
|
1585
|
+
inset: 0;
|
|
1586
|
+
background: rgb(0 0 0 / 0.5);
|
|
1587
|
+
backdrop-filter: blur(4px);
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
.wapp-modal {
|
|
1591
|
+
position: relative;
|
|
1592
|
+
display: flex;
|
|
1593
|
+
flex-direction: column;
|
|
1594
|
+
width: 100%;
|
|
1595
|
+
min-width: 0;
|
|
1596
|
+
max-height: calc(100dvh - 1.5rem);
|
|
1597
|
+
overflow: hidden;
|
|
1598
|
+
border: 1px solid var(--wapp-border);
|
|
1599
|
+
border-radius: 0.5rem;
|
|
1600
|
+
background: var(--wapp-surface);
|
|
1601
|
+
box-shadow: 0 24px 55px rgb(0 0 0 / 0.38);
|
|
1602
|
+
outline: none;
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
.wapp-modal-sm {
|
|
1606
|
+
max-width: 24rem;
|
|
1607
|
+
}
|
|
1608
|
+
|
|
1609
|
+
.wapp-modal-md {
|
|
1610
|
+
max-width: 28rem;
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
.wapp-modal-lg {
|
|
1614
|
+
max-width: 32rem;
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
.wapp-modal-xl {
|
|
1618
|
+
max-width: 36rem;
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
.wapp-modal-header {
|
|
1622
|
+
display: flex;
|
|
1623
|
+
flex-shrink: 0;
|
|
1624
|
+
align-items: flex-start;
|
|
1625
|
+
justify-content: space-between;
|
|
1626
|
+
gap: 1rem;
|
|
1627
|
+
border-bottom: 1px solid var(--wapp-border);
|
|
1628
|
+
padding: 0.75rem 1rem;
|
|
1629
|
+
}
|
|
1630
|
+
|
|
1631
|
+
.wapp-modal-title-block {
|
|
1632
|
+
min-width: 0;
|
|
1633
|
+
flex: 1;
|
|
1634
|
+
padding-right: 0.5rem;
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
.wapp-modal-title-block h2 {
|
|
1638
|
+
margin: 0;
|
|
1639
|
+
color: var(--wapp-text);
|
|
1640
|
+
font-size: 1rem;
|
|
1641
|
+
font-weight: 700;
|
|
1642
|
+
line-height: 1.35;
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1645
|
+
.wapp-modal-title-block p {
|
|
1646
|
+
margin: 0.25rem 0 0;
|
|
1647
|
+
color: var(--wapp-muted);
|
|
1648
|
+
font-size: 0.8125rem;
|
|
1649
|
+
line-height: 1.35;
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
.wapp-modal-close {
|
|
1653
|
+
display: inline-flex;
|
|
1654
|
+
flex-shrink: 0;
|
|
1655
|
+
align-items: center;
|
|
1656
|
+
justify-content: center;
|
|
1657
|
+
width: 1.75rem;
|
|
1658
|
+
height: 1.75rem;
|
|
1659
|
+
border: 0;
|
|
1660
|
+
border-radius: 0.375rem;
|
|
1661
|
+
background: transparent;
|
|
1662
|
+
color: var(--wapp-muted);
|
|
1663
|
+
cursor: pointer;
|
|
1664
|
+
font-size: 1.5rem;
|
|
1665
|
+
line-height: 1;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
.wapp-modal-close:hover {
|
|
1669
|
+
background: color-mix(in srgb, var(--wapp-muted), transparent 88%);
|
|
1670
|
+
color: var(--wapp-text);
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
.wapp-modal-body {
|
|
1674
|
+
min-width: 0;
|
|
1675
|
+
flex: 1;
|
|
1676
|
+
overflow-x: hidden;
|
|
1677
|
+
overflow-y: auto;
|
|
1678
|
+
padding: 0.75rem 1rem;
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
.wapp-modal-footer {
|
|
1682
|
+
display: flex;
|
|
1683
|
+
flex-shrink: 0;
|
|
1684
|
+
flex-direction: column-reverse;
|
|
1685
|
+
align-items: stretch;
|
|
1686
|
+
justify-content: flex-end;
|
|
1687
|
+
gap: 0.5rem;
|
|
1688
|
+
border-top: 1px solid var(--wapp-border);
|
|
1689
|
+
padding: 0.75rem 1rem;
|
|
1690
|
+
}
|
|
1691
|
+
|
|
1692
|
+
@media (min-width: 640px) {
|
|
1693
|
+
.wapp-modal-layer {
|
|
1694
|
+
padding: 1rem;
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
.wapp-modal {
|
|
1698
|
+
max-height: calc(100dvh - 2.5rem);
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
.wapp-modal-header {
|
|
1702
|
+
padding: 1rem 1.5rem;
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1705
|
+
.wapp-modal-title-block h2 {
|
|
1706
|
+
font-size: 1.125rem;
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1709
|
+
.wapp-modal-title-block p {
|
|
1710
|
+
font-size: 0.875rem;
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1713
|
+
.wapp-modal-body {
|
|
1714
|
+
padding: 1rem 1.5rem;
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
.wapp-modal-footer {
|
|
1718
|
+
flex-direction: row;
|
|
1719
|
+
align-items: center;
|
|
1720
|
+
gap: 0.75rem;
|
|
1721
|
+
padding: 1rem 1.5rem;
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1322
1725
|
.wapp-toolbar {
|
|
1323
1726
|
display: flex;
|
|
1324
1727
|
align-items: center;
|
|
@@ -1363,6 +1766,7 @@ textarea::placeholder {
|
|
|
1363
1766
|
|
|
1364
1767
|
.wapp-main-content {
|
|
1365
1768
|
padding: 1rem;
|
|
1769
|
+
overflow: auto;
|
|
1366
1770
|
overflow-x: hidden;
|
|
1367
1771
|
}
|
|
1368
1772
|
|