@xcanwin/manyoyo 5.7.3 → 5.7.4
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/lib/web/frontend/app.css +169 -0
- package/lib/web/frontend/app.html +32 -3
- package/lib/web/frontend/app.js +412 -102
- package/lib/web/server.js +457 -161
- package/package.json +1 -1
package/lib/web/frontend/app.css
CHANGED
|
@@ -378,6 +378,17 @@ textarea:focus-visible {
|
|
|
378
378
|
font-family: var(--font-ui);
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
+
.field-inline {
|
|
382
|
+
display: grid;
|
|
383
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
384
|
+
gap: 8px;
|
|
385
|
+
align-items: center;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.field-picker-btn {
|
|
389
|
+
white-space: nowrap;
|
|
390
|
+
}
|
|
391
|
+
|
|
381
392
|
.text-block {
|
|
382
393
|
margin-top: 10px;
|
|
383
394
|
}
|
|
@@ -519,6 +530,164 @@ textarea:focus-visible {
|
|
|
519
530
|
color: #7b6d5d;
|
|
520
531
|
}
|
|
521
532
|
|
|
533
|
+
.workbench-group {
|
|
534
|
+
display: flex;
|
|
535
|
+
flex-direction: column;
|
|
536
|
+
gap: 8px;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.workbench-group-head {
|
|
540
|
+
padding: 10px 12px;
|
|
541
|
+
border: 1px solid rgba(181, 146, 99, 0.38);
|
|
542
|
+
border-radius: 12px;
|
|
543
|
+
background: rgba(255, 250, 242, 0.92);
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
.workbench-group-kicker,
|
|
547
|
+
.container-card-kicker {
|
|
548
|
+
color: var(--muted);
|
|
549
|
+
font-size: 10px;
|
|
550
|
+
font-weight: 700;
|
|
551
|
+
letter-spacing: 0.7px;
|
|
552
|
+
text-transform: uppercase;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
.workbench-group-title,
|
|
556
|
+
.container-card-title {
|
|
557
|
+
margin-top: 3px;
|
|
558
|
+
font-weight: 700;
|
|
559
|
+
font-size: 13px;
|
|
560
|
+
line-height: 1.45;
|
|
561
|
+
word-break: break-word;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
.container-stack {
|
|
565
|
+
display: flex;
|
|
566
|
+
flex-direction: column;
|
|
567
|
+
gap: 8px;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
.container-card {
|
|
571
|
+
border: 1px solid var(--line);
|
|
572
|
+
border-radius: 12px;
|
|
573
|
+
background: rgba(255, 255, 255, 0.9);
|
|
574
|
+
padding: 10px;
|
|
575
|
+
display: flex;
|
|
576
|
+
flex-direction: column;
|
|
577
|
+
gap: 10px;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
.container-card-head {
|
|
581
|
+
display: flex;
|
|
582
|
+
align-items: flex-start;
|
|
583
|
+
justify-content: space-between;
|
|
584
|
+
gap: 10px;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
.container-card-info {
|
|
588
|
+
min-width: 0;
|
|
589
|
+
display: flex;
|
|
590
|
+
flex-direction: column;
|
|
591
|
+
gap: 4px;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
.container-card-meta {
|
|
595
|
+
display: flex;
|
|
596
|
+
flex-wrap: wrap;
|
|
597
|
+
gap: 6px;
|
|
598
|
+
align-items: center;
|
|
599
|
+
color: var(--muted);
|
|
600
|
+
font-size: 11px;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
.add-agent-btn {
|
|
604
|
+
padding: 7px 10px;
|
|
605
|
+
font-size: 12px;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.agent-list {
|
|
609
|
+
display: flex;
|
|
610
|
+
flex-direction: column;
|
|
611
|
+
gap: 6px;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.agent-item {
|
|
615
|
+
text-align: left;
|
|
616
|
+
width: 100%;
|
|
617
|
+
border: 1px solid rgba(181, 146, 99, 0.42);
|
|
618
|
+
background: var(--panel-strong);
|
|
619
|
+
color: var(--text);
|
|
620
|
+
border-radius: 10px;
|
|
621
|
+
padding: 10px;
|
|
622
|
+
animation: itemIn 220ms ease both;
|
|
623
|
+
animation-delay: calc(var(--item-index, 0) * 24ms);
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
.agent-item:hover {
|
|
627
|
+
border-color: #d1aa7f;
|
|
628
|
+
background: #fff8ef;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
.agent-item.active {
|
|
632
|
+
border-color: #c68d5a;
|
|
633
|
+
background: #fff3e8;
|
|
634
|
+
box-shadow: inset 3px 0 0 var(--accent), 0 0 0 2px rgba(196, 85, 31, 0.14);
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
.agent-name {
|
|
638
|
+
font-size: 13px;
|
|
639
|
+
font-weight: 700;
|
|
640
|
+
margin-bottom: 6px;
|
|
641
|
+
word-break: break-word;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
.agent-meta {
|
|
645
|
+
display: flex;
|
|
646
|
+
align-items: center;
|
|
647
|
+
gap: 7px;
|
|
648
|
+
font-size: 12px;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
.agent-time {
|
|
652
|
+
margin-top: 6px;
|
|
653
|
+
font-size: 11px;
|
|
654
|
+
color: #7b6d5d;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
.dir-picker-modal {
|
|
658
|
+
width: min(720px, calc(100vw - 24px));
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
.dir-picker-toolbar {
|
|
662
|
+
display: flex;
|
|
663
|
+
justify-content: space-between;
|
|
664
|
+
gap: 8px;
|
|
665
|
+
margin-bottom: 10px;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
.dir-picker-current {
|
|
669
|
+
margin-bottom: 10px;
|
|
670
|
+
padding: 10px 12px;
|
|
671
|
+
border: 1px solid rgba(181, 146, 99, 0.38);
|
|
672
|
+
border-radius: 10px;
|
|
673
|
+
background: rgba(255, 251, 244, 0.92);
|
|
674
|
+
color: var(--text);
|
|
675
|
+
font-family: var(--font-mono);
|
|
676
|
+
font-size: 12px;
|
|
677
|
+
word-break: break-all;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
.dir-picker-list {
|
|
681
|
+
display: flex;
|
|
682
|
+
flex-direction: column;
|
|
683
|
+
gap: 8px;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.dir-picker-item {
|
|
687
|
+
width: 100%;
|
|
688
|
+
text-align: left;
|
|
689
|
+
}
|
|
690
|
+
|
|
522
691
|
.empty {
|
|
523
692
|
padding: 12px 10px;
|
|
524
693
|
border: 1px dashed #d4bf9f;
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
>关闭</button>
|
|
32
32
|
</div>
|
|
33
33
|
<div class="session-head">
|
|
34
|
-
<span
|
|
34
|
+
<span>工作台</span>
|
|
35
35
|
<span id="sessionCount">0 个</span>
|
|
36
36
|
</div>
|
|
37
37
|
<div id="sessionList"></div>
|
|
@@ -154,9 +154,19 @@
|
|
|
154
154
|
<option value="">(不使用 run)</option>
|
|
155
155
|
</select>
|
|
156
156
|
</label>
|
|
157
|
-
<label>hostPath
|
|
157
|
+
<label>hostPath
|
|
158
|
+
<div class="field-inline">
|
|
159
|
+
<input id="createHostPath" placeholder="/abs/path/project" />
|
|
160
|
+
<button type="button" id="pickHostPathBtn" class="secondary field-picker-btn">选择</button>
|
|
161
|
+
</div>
|
|
162
|
+
</label>
|
|
158
163
|
<label>containerName<input id="createContainerName" placeholder="my-dev 或 my-{now}" /></label>
|
|
159
|
-
<label>containerPath
|
|
164
|
+
<label>containerPath
|
|
165
|
+
<div class="field-inline">
|
|
166
|
+
<input id="createContainerPath" placeholder="/workspace" />
|
|
167
|
+
<button type="button" id="pickContainerPathBtn" class="secondary field-picker-btn">选择</button>
|
|
168
|
+
</div>
|
|
169
|
+
</label>
|
|
160
170
|
<label>imageName<input id="createImageName" placeholder="localhost/xcanwin/manyoyo" /></label>
|
|
161
171
|
<label>imageVersion<input id="createImageVersion" placeholder="1.7.4-common" /></label>
|
|
162
172
|
<label>containerMode
|
|
@@ -190,6 +200,25 @@
|
|
|
190
200
|
</form>
|
|
191
201
|
</section>
|
|
192
202
|
</div>
|
|
203
|
+
|
|
204
|
+
<div id="directoryPickerModal" class="modal-backdrop" hidden>
|
|
205
|
+
<section class="modal dir-picker-modal" role="dialog" aria-modal="true" aria-labelledby="directoryPickerTitle">
|
|
206
|
+
<header class="modal-header">
|
|
207
|
+
<h2 id="directoryPickerTitle">选择目录</h2>
|
|
208
|
+
<button type="button" id="directoryPickerCancelBtn" class="secondary">关闭</button>
|
|
209
|
+
</header>
|
|
210
|
+
<div class="modal-body">
|
|
211
|
+
<div id="directoryPickerTip" class="modal-tip"></div>
|
|
212
|
+
<div class="dir-picker-toolbar">
|
|
213
|
+
<button type="button" id="directoryPickerUpBtn" class="secondary">上一级</button>
|
|
214
|
+
<button type="button" id="directoryPickerSelectBtn">使用当前目录</button>
|
|
215
|
+
</div>
|
|
216
|
+
<div id="directoryPickerCurrent" class="dir-picker-current"></div>
|
|
217
|
+
<div id="directoryPickerError" class="modal-error" hidden></div>
|
|
218
|
+
<div id="directoryPickerList" class="dir-picker-list"></div>
|
|
219
|
+
</div>
|
|
220
|
+
</section>
|
|
221
|
+
</div>
|
|
193
222
|
</div>
|
|
194
223
|
|
|
195
224
|
<script src="/app/vendor/xterm.js"></script>
|