@co0ontty/wand 1.15.1 → 1.17.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/dist/claude-pty-bridge.d.ts +3 -0
- package/dist/claude-pty-bridge.js +35 -1
- package/dist/config.js +2 -0
- package/dist/models.d.ts +13 -0
- package/dist/models.js +54 -0
- package/dist/process-manager.d.ts +7 -0
- package/dist/process-manager.js +47 -15
- package/dist/pty-text-utils.d.ts +7 -0
- package/dist/pty-text-utils.js +14 -0
- package/dist/pwa.js +2 -4
- package/dist/server-session-routes.js +25 -1
- package/dist/server.js +113 -15
- package/dist/structured-session-manager.d.ts +4 -0
- package/dist/structured-session-manager.js +30 -1
- package/dist/types.d.ts +16 -0
- package/dist/upload-routes.d.ts +3 -0
- package/dist/upload-routes.js +53 -0
- package/dist/web-ui/content/scripts.js +950 -517
- package/dist/web-ui/content/styles.css +312 -118
- package/dist/web-ui/content/vendor/wterm/terminal.css +162 -0
- package/dist/web-ui/content/vendor/wterm/wterm.bundle.js +1 -0
- package/dist/web-ui/index.js +2 -4
- package/dist/ws-broadcast.js +12 -7
- package/package.json +6 -5
|
@@ -391,7 +391,7 @@
|
|
|
391
391
|
left: 0;
|
|
392
392
|
right: 0;
|
|
393
393
|
bottom: 0;
|
|
394
|
-
z-index:
|
|
394
|
+
z-index: 44;
|
|
395
395
|
background: var(--bg-overlay);
|
|
396
396
|
opacity: 0;
|
|
397
397
|
pointer-events: none;
|
|
@@ -411,7 +411,7 @@
|
|
|
411
411
|
top: 0;
|
|
412
412
|
left: 0;
|
|
413
413
|
bottom: 0;
|
|
414
|
-
z-index:
|
|
414
|
+
z-index: 45;
|
|
415
415
|
width: min(var(--sidebar-width), calc(100vw - 20px));
|
|
416
416
|
max-width: 90vw;
|
|
417
417
|
background: rgba(255, 251, 245, 0.96);
|
|
@@ -422,7 +422,7 @@
|
|
|
422
422
|
backdrop-filter: blur(20px) saturate(180%);
|
|
423
423
|
box-shadow: 4px 0 32px rgba(89, 58, 32, 0.08);
|
|
424
424
|
transform: translateX(-100%);
|
|
425
|
-
transition: transform 0.
|
|
425
|
+
transition: transform 0.35s var(--ease-out-expo), box-shadow 0.35s ease, opacity 0.25s ease;
|
|
426
426
|
pointer-events: none;
|
|
427
427
|
opacity: 0;
|
|
428
428
|
}
|
|
@@ -448,7 +448,7 @@
|
|
|
448
448
|
/* ===== 图钉按钮 ===== */
|
|
449
449
|
.sidebar-pin-toggle {
|
|
450
450
|
flex-shrink: 0;
|
|
451
|
-
transition: transform var(--
|
|
451
|
+
transition: transform 0.3s var(--ease-out-expo), color var(--transition-fast);
|
|
452
452
|
}
|
|
453
453
|
.sidebar-pin-toggle.pinned {
|
|
454
454
|
color: var(--primary);
|
|
@@ -479,10 +479,64 @@
|
|
|
479
479
|
.sidebar-header-actions {
|
|
480
480
|
display: flex;
|
|
481
481
|
align-items: center;
|
|
482
|
-
gap:
|
|
482
|
+
gap: 6px;
|
|
483
483
|
flex-shrink: 0;
|
|
484
484
|
}
|
|
485
485
|
|
|
486
|
+
.sidebar-header-more {
|
|
487
|
+
position: relative;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.sidebar-header-overflow {
|
|
491
|
+
display: none;
|
|
492
|
+
position: absolute;
|
|
493
|
+
top: calc(100% + 6px);
|
|
494
|
+
right: 0;
|
|
495
|
+
min-width: 150px;
|
|
496
|
+
background: rgba(255, 251, 245, 0.98);
|
|
497
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
498
|
+
border: 1px solid var(--border-subtle);
|
|
499
|
+
border-radius: var(--radius-sm);
|
|
500
|
+
box-shadow: 0 4px 20px rgba(89, 58, 32, 0.12);
|
|
501
|
+
padding: 4px;
|
|
502
|
+
z-index: 60;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.sidebar-header-overflow.open {
|
|
506
|
+
display: block;
|
|
507
|
+
animation: fadeSlideDown 0.15s var(--ease-out-expo);
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.sidebar-header-overflow .overflow-item {
|
|
511
|
+
display: flex;
|
|
512
|
+
align-items: center;
|
|
513
|
+
gap: 8px;
|
|
514
|
+
width: 100%;
|
|
515
|
+
padding: 9px 12px;
|
|
516
|
+
border: none;
|
|
517
|
+
background: none;
|
|
518
|
+
font-family: var(--font-sans);
|
|
519
|
+
font-size: 0.8125rem;
|
|
520
|
+
color: var(--text-secondary);
|
|
521
|
+
cursor: pointer;
|
|
522
|
+
border-radius: 6px;
|
|
523
|
+
transition: background var(--transition-fast), color var(--transition-fast);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.sidebar-header-overflow .overflow-item:hover {
|
|
527
|
+
background: var(--bg-tertiary);
|
|
528
|
+
color: var(--text-primary);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
.sidebar-header-overflow .overflow-item:active {
|
|
532
|
+
transform: scale(0.97);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
@keyframes fadeSlideDown {
|
|
536
|
+
from { opacity: 0; transform: translateY(-4px); }
|
|
537
|
+
to { opacity: 1; transform: translateY(0); }
|
|
538
|
+
}
|
|
539
|
+
|
|
486
540
|
.sidebar-logout {
|
|
487
541
|
color: var(--text-muted);
|
|
488
542
|
opacity: 0.7;
|
|
@@ -621,7 +675,7 @@
|
|
|
621
675
|
width: var(--file-panel-width);
|
|
622
676
|
background: var(--bg-primary);
|
|
623
677
|
border-left: 1px solid var(--border);
|
|
624
|
-
z-index:
|
|
678
|
+
z-index: 55;
|
|
625
679
|
transition: right 0.3s var(--ease-out-expo), box-shadow 0.3s ease;
|
|
626
680
|
display: flex;
|
|
627
681
|
flex-direction: column;
|
|
@@ -647,7 +701,7 @@
|
|
|
647
701
|
right: 0;
|
|
648
702
|
bottom: 0;
|
|
649
703
|
background: rgba(42, 28, 18, 0.3);
|
|
650
|
-
z-index:
|
|
704
|
+
z-index: 54;
|
|
651
705
|
opacity: 0;
|
|
652
706
|
pointer-events: none;
|
|
653
707
|
transition: opacity 0.3s ease;
|
|
@@ -830,6 +884,14 @@
|
|
|
830
884
|
align-items: center;
|
|
831
885
|
justify-content: space-between;
|
|
832
886
|
margin-bottom: 12px;
|
|
887
|
+
padding: 6px 8px;
|
|
888
|
+
border-radius: var(--radius-sm);
|
|
889
|
+
background: rgba(150, 118, 85, 0.04);
|
|
890
|
+
transition: all var(--transition-fast);
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
.session-manage-bar:hover {
|
|
894
|
+
background: rgba(150, 118, 85, 0.07);
|
|
833
895
|
}
|
|
834
896
|
|
|
835
897
|
.session-manage-bar.active {
|
|
@@ -854,7 +916,23 @@
|
|
|
854
916
|
gap: 8px;
|
|
855
917
|
}
|
|
856
918
|
|
|
857
|
-
.session-manage-toggle
|
|
919
|
+
.session-manage-toggle {
|
|
920
|
+
border: 1px solid rgba(197, 101, 61, 0.15);
|
|
921
|
+
background: rgba(197, 101, 61, 0.05);
|
|
922
|
+
color: var(--accent);
|
|
923
|
+
border-radius: var(--radius-md);
|
|
924
|
+
padding: 6px 10px;
|
|
925
|
+
font-size: 0.75rem;
|
|
926
|
+
font-weight: 600;
|
|
927
|
+
cursor: pointer;
|
|
928
|
+
transition: all var(--transition-fast);
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
.session-manage-toggle:hover {
|
|
932
|
+
background: rgba(197, 101, 61, 0.12);
|
|
933
|
+
border-color: rgba(197, 101, 61, 0.25);
|
|
934
|
+
}
|
|
935
|
+
|
|
858
936
|
.session-manage-btn {
|
|
859
937
|
border: 1px solid var(--border-subtle);
|
|
860
938
|
background: var(--bg-surface);
|
|
@@ -885,12 +963,12 @@
|
|
|
885
963
|
}
|
|
886
964
|
|
|
887
965
|
.session-group-title {
|
|
888
|
-
padding:
|
|
966
|
+
padding: 8px 8px 12px;
|
|
889
967
|
font-size: 0.6875rem;
|
|
890
968
|
font-weight: 700;
|
|
891
969
|
letter-spacing: 0.08em;
|
|
892
970
|
text-transform: uppercase;
|
|
893
|
-
color: var(--text-
|
|
971
|
+
color: var(--text-secondary);
|
|
894
972
|
display: flex;
|
|
895
973
|
align-items: center;
|
|
896
974
|
gap: 8px;
|
|
@@ -899,8 +977,9 @@
|
|
|
899
977
|
.session-group-title::before {
|
|
900
978
|
content: '';
|
|
901
979
|
width: 3px;
|
|
902
|
-
height:
|
|
903
|
-
background: var(--accent
|
|
980
|
+
height: 14px;
|
|
981
|
+
background: var(--accent);
|
|
982
|
+
opacity: 0.7;
|
|
904
983
|
border-radius: var(--radius-full);
|
|
905
984
|
}
|
|
906
985
|
|
|
@@ -915,24 +994,25 @@
|
|
|
915
994
|
}
|
|
916
995
|
.claude-history-toggle .chevron {
|
|
917
996
|
display: inline-block;
|
|
918
|
-
transition: transform 0.
|
|
919
|
-
font-size: 0.
|
|
920
|
-
margin-right:
|
|
997
|
+
transition: transform 0.25s var(--ease-out-expo);
|
|
998
|
+
font-size: 0.6875rem;
|
|
999
|
+
margin-right: 4px;
|
|
921
1000
|
}
|
|
922
1001
|
.claude-history-toggle .history-count {
|
|
923
|
-
font-size: 0.
|
|
924
|
-
font-weight:
|
|
925
|
-
color: var(--text-
|
|
926
|
-
background: var(--bg-
|
|
927
|
-
padding:
|
|
1002
|
+
font-size: 0.6875rem;
|
|
1003
|
+
font-weight: 600;
|
|
1004
|
+
color: var(--text-secondary);
|
|
1005
|
+
background: var(--bg-tertiary);
|
|
1006
|
+
padding: 2px 7px;
|
|
928
1007
|
border-radius: var(--radius-full);
|
|
929
|
-
margin-left:
|
|
1008
|
+
margin-left: 6px;
|
|
930
1009
|
}
|
|
931
1010
|
.claude-history-loading {
|
|
932
|
-
padding:
|
|
1011
|
+
padding: 16px 8px;
|
|
933
1012
|
color: var(--text-muted);
|
|
934
1013
|
font-size: 0.8125rem;
|
|
935
1014
|
text-align: center;
|
|
1015
|
+
font-style: italic;
|
|
936
1016
|
}
|
|
937
1017
|
.claude-history-directory-header {
|
|
938
1018
|
margin-top: 6px;
|
|
@@ -940,13 +1020,13 @@
|
|
|
940
1020
|
user-select: none;
|
|
941
1021
|
}
|
|
942
1022
|
.claude-history-directory-header .chevron {
|
|
943
|
-
font-size: 0.
|
|
944
|
-
margin-right:
|
|
1023
|
+
font-size: 0.6875rem;
|
|
1024
|
+
margin-right: 4px;
|
|
945
1025
|
}
|
|
946
1026
|
.claude-history-directory-title {
|
|
947
|
-
font-size: 0.
|
|
948
|
-
padding:
|
|
949
|
-
opacity: 0.
|
|
1027
|
+
font-size: 0.6875rem;
|
|
1028
|
+
padding: 6px 8px;
|
|
1029
|
+
opacity: 0.8;
|
|
950
1030
|
justify-content: space-between;
|
|
951
1031
|
}
|
|
952
1032
|
.claude-history-directory-label {
|
|
@@ -965,10 +1045,12 @@
|
|
|
965
1045
|
white-space: nowrap;
|
|
966
1046
|
}
|
|
967
1047
|
.claude-history-item {
|
|
968
|
-
opacity: 0.
|
|
1048
|
+
opacity: 0.85;
|
|
1049
|
+
transition: opacity 0.15s ease, background 0.15s ease;
|
|
969
1050
|
}
|
|
970
1051
|
.claude-history-item:hover {
|
|
971
1052
|
opacity: 1;
|
|
1053
|
+
background: rgba(150, 118, 85, 0.06);
|
|
972
1054
|
}
|
|
973
1055
|
|
|
974
1056
|
/* ===== 会话卡片项 ===== */
|
|
@@ -981,9 +1063,9 @@
|
|
|
981
1063
|
color: var(--text-primary);
|
|
982
1064
|
padding: 10px 12px;
|
|
983
1065
|
cursor: pointer;
|
|
984
|
-
transition: all 0.2s ease;
|
|
1066
|
+
transition: all 0.2s ease, transform 0.1s ease;
|
|
985
1067
|
font-family: var(--font-sans);
|
|
986
|
-
margin-bottom:
|
|
1068
|
+
margin-bottom: 6px;
|
|
987
1069
|
position: relative;
|
|
988
1070
|
overflow: hidden;
|
|
989
1071
|
}
|
|
@@ -992,14 +1074,14 @@
|
|
|
992
1074
|
content: '';
|
|
993
1075
|
position: absolute;
|
|
994
1076
|
left: 0;
|
|
995
|
-
top:
|
|
996
|
-
bottom:
|
|
1077
|
+
top: 6px;
|
|
1078
|
+
bottom: 6px;
|
|
997
1079
|
width: 3px;
|
|
998
1080
|
background: var(--accent);
|
|
999
1081
|
opacity: 0;
|
|
1000
1082
|
transform: scaleY(0);
|
|
1001
1083
|
transition: all 0.2s ease;
|
|
1002
|
-
border-radius:
|
|
1084
|
+
border-radius: 2px;
|
|
1003
1085
|
}
|
|
1004
1086
|
|
|
1005
1087
|
.session-item-row {
|
|
@@ -1152,8 +1234,9 @@
|
|
|
1152
1234
|
/* ===== 会话操作按钮 ===== */
|
|
1153
1235
|
.session-actions {
|
|
1154
1236
|
position: absolute;
|
|
1155
|
-
right:
|
|
1156
|
-
top:
|
|
1237
|
+
right: 4px;
|
|
1238
|
+
top: 50%;
|
|
1239
|
+
transform: translateY(-50%);
|
|
1157
1240
|
display: inline-flex;
|
|
1158
1241
|
align-items: center;
|
|
1159
1242
|
gap: 2px;
|
|
@@ -1695,7 +1778,7 @@
|
|
|
1695
1778
|
@media (hover: hover) {
|
|
1696
1779
|
.session-item .session-actions {
|
|
1697
1780
|
opacity: 0;
|
|
1698
|
-
transition: opacity 0.
|
|
1781
|
+
transition: opacity 0.2s ease;
|
|
1699
1782
|
}
|
|
1700
1783
|
.session-item:hover .session-actions,
|
|
1701
1784
|
.session-item.active .session-actions,
|
|
@@ -1718,6 +1801,7 @@
|
|
|
1718
1801
|
.session-item:hover {
|
|
1719
1802
|
background: rgba(150, 118, 85, 0.06);
|
|
1720
1803
|
border-color: var(--border-subtle);
|
|
1804
|
+
box-shadow: 0 1px 4px rgba(89, 58, 32, 0.04);
|
|
1721
1805
|
}
|
|
1722
1806
|
|
|
1723
1807
|
.session-item:hover::before {
|
|
@@ -1728,6 +1812,7 @@
|
|
|
1728
1812
|
.session-item.active {
|
|
1729
1813
|
background: rgba(197, 101, 61, 0.08);
|
|
1730
1814
|
border-color: rgba(197, 101, 61, 0.2);
|
|
1815
|
+
box-shadow: 0 1px 6px rgba(197, 101, 61, 0.08);
|
|
1731
1816
|
}
|
|
1732
1817
|
|
|
1733
1818
|
.session-item.active::before {
|
|
@@ -1835,24 +1920,44 @@
|
|
|
1835
1920
|
}
|
|
1836
1921
|
|
|
1837
1922
|
.sidebar-footer-actions {
|
|
1838
|
-
display:
|
|
1839
|
-
|
|
1840
|
-
gap:
|
|
1923
|
+
display: grid;
|
|
1924
|
+
grid-template-columns: repeat(4, 1fr);
|
|
1925
|
+
gap: 6px;
|
|
1841
1926
|
}
|
|
1842
1927
|
|
|
1843
1928
|
.sidebar-footer-actions .btn {
|
|
1844
|
-
|
|
1845
|
-
|
|
1929
|
+
display: flex;
|
|
1930
|
+
flex-direction: column;
|
|
1846
1931
|
align-items: center;
|
|
1847
1932
|
justify-content: center;
|
|
1848
|
-
gap:
|
|
1849
|
-
font-size: 0.
|
|
1850
|
-
color: var(--text-
|
|
1933
|
+
gap: 3px;
|
|
1934
|
+
font-size: 0.625rem;
|
|
1935
|
+
color: var(--text-muted);
|
|
1936
|
+
padding: 8px 4px;
|
|
1937
|
+
min-height: 48px;
|
|
1938
|
+
border-radius: var(--radius-sm);
|
|
1939
|
+
transition: all var(--transition-fast);
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
.sidebar-footer-actions .btn svg {
|
|
1943
|
+
width: 16px;
|
|
1944
|
+
height: 16px;
|
|
1945
|
+
flex-shrink: 0;
|
|
1851
1946
|
}
|
|
1852
1947
|
|
|
1853
1948
|
.sidebar-footer-actions .btn:hover {
|
|
1854
1949
|
color: var(--text-primary);
|
|
1855
|
-
background:
|
|
1950
|
+
background: rgba(150, 118, 85, 0.08);
|
|
1951
|
+
transform: translateY(-1px);
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
.sidebar-footer-actions .btn:active {
|
|
1955
|
+
transform: scale(0.95);
|
|
1956
|
+
transition-duration: 0.1s;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
.sidebar-footer-actions .btn.hidden {
|
|
1960
|
+
display: none;
|
|
1856
1961
|
}
|
|
1857
1962
|
|
|
1858
1963
|
.sidebar-meta {
|
|
@@ -2187,27 +2292,50 @@
|
|
|
2187
2292
|
align-items: stretch;
|
|
2188
2293
|
}
|
|
2189
2294
|
|
|
2190
|
-
.terminal-
|
|
2295
|
+
.terminal-scroll-wrap {
|
|
2191
2296
|
position: absolute;
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
bottom: 0;
|
|
2196
|
-
padding: 0;
|
|
2197
|
-
overflow: hidden;
|
|
2198
|
-
}
|
|
2199
|
-
|
|
2200
|
-
.terminal-container .xterm-viewport {
|
|
2201
|
-
background: transparent !important;
|
|
2297
|
+
inset: 0;
|
|
2298
|
+
overflow-y: auto;
|
|
2299
|
+
overflow-x: hidden;
|
|
2202
2300
|
scrollbar-width: none;
|
|
2203
|
-
|
|
2204
|
-
|
|
2301
|
+
padding: 12px;
|
|
2302
|
+
border-radius: 0;
|
|
2303
|
+
box-shadow: none;
|
|
2304
|
+
--term-fg: #f5eadc;
|
|
2305
|
+
--term-bg: transparent;
|
|
2306
|
+
--term-cursor: #d67b52;
|
|
2307
|
+
--term-font-family: "Geist Mono", "SF Mono", monospace;
|
|
2308
|
+
--term-font-size: 13px;
|
|
2309
|
+
--term-line-height: 1.5;
|
|
2310
|
+
--term-row-height: calc(13px * 1.5);
|
|
2311
|
+
--term-color-0: #1f1b17;
|
|
2312
|
+
--term-color-1: #d27766;
|
|
2313
|
+
--term-color-2: #7fa36f;
|
|
2314
|
+
--term-color-3: #d5a35b;
|
|
2315
|
+
--term-color-4: #87a9d9;
|
|
2316
|
+
--term-color-5: #c595c7;
|
|
2317
|
+
--term-color-6: #7fb3b1;
|
|
2318
|
+
--term-color-7: #f5eadc;
|
|
2319
|
+
--term-color-8: #625347;
|
|
2320
|
+
--term-color-9: #e39a89;
|
|
2321
|
+
--term-color-10: #9cc08a;
|
|
2322
|
+
--term-color-11: #ebbb6e;
|
|
2323
|
+
--term-color-12: #a8c1ea;
|
|
2324
|
+
--term-color-13: #dbb1dc;
|
|
2325
|
+
--term-color-14: #9acbca;
|
|
2326
|
+
--term-color-15: #fff7ef;
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
.terminal-scroll-wrap::-webkit-scrollbar {
|
|
2205
2330
|
display: none;
|
|
2206
2331
|
}
|
|
2207
2332
|
|
|
2208
|
-
.terminal-
|
|
2209
|
-
|
|
2210
|
-
|
|
2333
|
+
.terminal-scroll-wrap ::selection {
|
|
2334
|
+
background: rgba(214, 123, 82, 0.28);
|
|
2335
|
+
}
|
|
2336
|
+
|
|
2337
|
+
.terminal-scroll-wrap .term-grid {
|
|
2338
|
+
min-height: 100%;
|
|
2211
2339
|
}
|
|
2212
2340
|
|
|
2213
2341
|
/* ===== 自定义终端滚动条 ===== */
|
|
@@ -4335,6 +4463,33 @@
|
|
|
4335
4463
|
padding: 2px 5px;
|
|
4336
4464
|
border-radius: 4px;
|
|
4337
4465
|
}
|
|
4466
|
+
.markdown-content .md-table-wrap {
|
|
4467
|
+
margin: 12px 0;
|
|
4468
|
+
overflow-x: auto;
|
|
4469
|
+
border: 1px solid var(--border);
|
|
4470
|
+
border-radius: var(--radius-sm);
|
|
4471
|
+
-webkit-overflow-scrolling: touch;
|
|
4472
|
+
}
|
|
4473
|
+
.markdown-content .md-table {
|
|
4474
|
+
border-collapse: collapse;
|
|
4475
|
+
width: 100%;
|
|
4476
|
+
font-size: 0.8125rem;
|
|
4477
|
+
white-space: normal;
|
|
4478
|
+
}
|
|
4479
|
+
.markdown-content .md-table th,
|
|
4480
|
+
.markdown-content .md-table td {
|
|
4481
|
+
border: 1px solid var(--border);
|
|
4482
|
+
padding: 6px 10px;
|
|
4483
|
+
text-align: left;
|
|
4484
|
+
vertical-align: top;
|
|
4485
|
+
}
|
|
4486
|
+
.markdown-content .md-table th {
|
|
4487
|
+
background: rgba(150, 118, 85, 0.1);
|
|
4488
|
+
font-weight: 600;
|
|
4489
|
+
}
|
|
4490
|
+
.markdown-content .md-table tbody tr:nth-child(even) {
|
|
4491
|
+
background: rgba(150, 118, 85, 0.04);
|
|
4492
|
+
}
|
|
4338
4493
|
.markdown-content .code-block {
|
|
4339
4494
|
margin: 12px 0;
|
|
4340
4495
|
border-radius: var(--radius-md);
|
|
@@ -5393,6 +5548,90 @@
|
|
|
5393
5548
|
.btn-circle-stop:active {
|
|
5394
5549
|
transform: scale(0.95);
|
|
5395
5550
|
}
|
|
5551
|
+
.btn-circle-attach {
|
|
5552
|
+
background: transparent;
|
|
5553
|
+
color: var(--text-muted);
|
|
5554
|
+
}
|
|
5555
|
+
.btn-circle-attach:hover {
|
|
5556
|
+
background: rgba(197, 101, 61, 0.10);
|
|
5557
|
+
color: var(--accent);
|
|
5558
|
+
transform: scale(1.08);
|
|
5559
|
+
}
|
|
5560
|
+
.btn-circle-attach:active {
|
|
5561
|
+
transform: scale(0.95);
|
|
5562
|
+
}
|
|
5563
|
+
|
|
5564
|
+
.attachment-preview {
|
|
5565
|
+
display: flex;
|
|
5566
|
+
gap: 6px;
|
|
5567
|
+
padding: 6px 10px;
|
|
5568
|
+
flex-wrap: wrap;
|
|
5569
|
+
border-top: 1px solid var(--border-subtle);
|
|
5570
|
+
}
|
|
5571
|
+
.attachment-preview.hidden { display: none; }
|
|
5572
|
+
.attachment-pill {
|
|
5573
|
+
display: inline-flex;
|
|
5574
|
+
align-items: center;
|
|
5575
|
+
gap: 4px;
|
|
5576
|
+
padding: 3px 8px;
|
|
5577
|
+
background: rgba(197, 101, 61, 0.06);
|
|
5578
|
+
border: 1px solid rgba(197, 101, 61, 0.18);
|
|
5579
|
+
border-radius: 8px;
|
|
5580
|
+
font-size: 0.72rem;
|
|
5581
|
+
max-width: 200px;
|
|
5582
|
+
color: var(--text-secondary);
|
|
5583
|
+
animation: permission-fade-in 0.2s ease-out;
|
|
5584
|
+
}
|
|
5585
|
+
.attachment-pill img {
|
|
5586
|
+
width: 28px;
|
|
5587
|
+
height: 28px;
|
|
5588
|
+
object-fit: cover;
|
|
5589
|
+
border-radius: 4px;
|
|
5590
|
+
flex-shrink: 0;
|
|
5591
|
+
}
|
|
5592
|
+
.attachment-pill .att-icon {
|
|
5593
|
+
width: 18px;
|
|
5594
|
+
height: 18px;
|
|
5595
|
+
flex-shrink: 0;
|
|
5596
|
+
display: flex;
|
|
5597
|
+
align-items: center;
|
|
5598
|
+
justify-content: center;
|
|
5599
|
+
font-size: 0.85rem;
|
|
5600
|
+
}
|
|
5601
|
+
.attachment-pill .att-name {
|
|
5602
|
+
overflow: hidden;
|
|
5603
|
+
text-overflow: ellipsis;
|
|
5604
|
+
white-space: nowrap;
|
|
5605
|
+
flex: 1;
|
|
5606
|
+
min-width: 0;
|
|
5607
|
+
}
|
|
5608
|
+
.attachment-pill .att-size {
|
|
5609
|
+
color: var(--text-muted);
|
|
5610
|
+
font-size: 0.65rem;
|
|
5611
|
+
flex-shrink: 0;
|
|
5612
|
+
}
|
|
5613
|
+
.attachment-pill .att-remove {
|
|
5614
|
+
cursor: pointer;
|
|
5615
|
+
color: var(--text-muted);
|
|
5616
|
+
font-size: 0.8rem;
|
|
5617
|
+
line-height: 1;
|
|
5618
|
+
padding: 0 2px;
|
|
5619
|
+
flex-shrink: 0;
|
|
5620
|
+
border: none;
|
|
5621
|
+
background: none;
|
|
5622
|
+
}
|
|
5623
|
+
.attachment-pill .att-remove:hover {
|
|
5624
|
+
color: var(--danger);
|
|
5625
|
+
}
|
|
5626
|
+
.attachment-pill.uploading {
|
|
5627
|
+
opacity: 0.6;
|
|
5628
|
+
}
|
|
5629
|
+
|
|
5630
|
+
.input-composer.drag-over {
|
|
5631
|
+
border-color: var(--accent) !important;
|
|
5632
|
+
background: rgba(197, 101, 61, 0.04) !important;
|
|
5633
|
+
box-shadow: 0 0 0 2px var(--accent-muted), inset 0 0 20px rgba(197, 101, 61, 0.03);
|
|
5634
|
+
}
|
|
5396
5635
|
|
|
5397
5636
|
.keyboard-aware {
|
|
5398
5637
|
position: fixed;
|
|
@@ -6146,8 +6385,12 @@
|
|
|
6146
6385
|
.thinking-content { font-size: 0.8125rem; }
|
|
6147
6386
|
.tool-picker { grid-template-columns: 1fr; }
|
|
6148
6387
|
/* 平板触摸优化 - 44px触摸区域 */
|
|
6149
|
-
.session-item { min-height:
|
|
6150
|
-
.session-action-btn { width:
|
|
6388
|
+
.session-item { min-height: 52px; padding: 12px 12px; }
|
|
6389
|
+
.session-action-btn { width: 36px; height: 36px; min-width: 36px; min-height: 36px; }
|
|
6390
|
+
.session-manage-toggle,
|
|
6391
|
+
.session-manage-btn { min-height: 36px; padding: 8px 12px; }
|
|
6392
|
+
.claude-history-toggle { min-height: 40px; display: flex; align-items: center; }
|
|
6393
|
+
.sidebar-footer-actions .btn { min-height: 44px; }
|
|
6151
6394
|
.tree-item { min-height: 44px; padding: 8px 12px; }
|
|
6152
6395
|
.folder-picker-item { min-height: 44px; }
|
|
6153
6396
|
}
|
|
@@ -6194,6 +6437,9 @@
|
|
|
6194
6437
|
.floating-sidebar-toggle .hamburger-icon { width: 13px; height: 9px; }
|
|
6195
6438
|
|
|
6196
6439
|
.sidebar { top: 0; }
|
|
6440
|
+
.sidebar-header { padding: 10px 12px; min-height: 48px; }
|
|
6441
|
+
.sidebar-footer-actions { grid-template-columns: repeat(2, 1fr); }
|
|
6442
|
+
.sidebar-footer-actions .btn { min-height: 40px; }
|
|
6197
6443
|
|
|
6198
6444
|
/* 移动端终端顶栏 - 紧凑 */
|
|
6199
6445
|
.terminal-header { padding: 5px 8px; min-height: 32px; }
|
|
@@ -6730,6 +6976,9 @@
|
|
|
6730
6976
|
.session-action-btn { width: 30px; height: 30px; min-width: 30px; min-height: 30px; }
|
|
6731
6977
|
|
|
6732
6978
|
.sidebar { top: 0; width: min(240px, calc(100vw - 10px)); }
|
|
6979
|
+
.sidebar-footer-actions { grid-template-columns: repeat(4, 1fr); }
|
|
6980
|
+
.sidebar-footer-actions .btn span { display: none; }
|
|
6981
|
+
.sidebar-footer-actions .btn { min-height: 36px; padding: 6px; }
|
|
6733
6982
|
|
|
6734
6983
|
.modal { max-height: 80vh; }
|
|
6735
6984
|
.modal-header { padding: 8px 10px; min-height: 36px; }
|
|
@@ -9278,61 +9527,6 @@
|
|
|
9278
9527
|
position: relative;
|
|
9279
9528
|
}
|
|
9280
9529
|
|
|
9281
|
-
/* ===== 移动端 DOM 终端视图 ===== */
|
|
9282
|
-
.terminal-dom-view {
|
|
9283
|
-
display: none;
|
|
9284
|
-
position: absolute;
|
|
9285
|
-
top: 0;
|
|
9286
|
-
left: 0;
|
|
9287
|
-
right: 0;
|
|
9288
|
-
bottom: 0;
|
|
9289
|
-
overflow-y: auto;
|
|
9290
|
-
overflow-x: hidden;
|
|
9291
|
-
-webkit-overflow-scrolling: touch;
|
|
9292
|
-
background: var(--bg-terminal);
|
|
9293
|
-
z-index: 1;
|
|
9294
|
-
font-size: 13px;
|
|
9295
|
-
}
|
|
9296
|
-
|
|
9297
|
-
.terminal-dom-view.active {
|
|
9298
|
-
display: block;
|
|
9299
|
-
}
|
|
9300
|
-
|
|
9301
|
-
.terminal-dom-view pre {
|
|
9302
|
-
margin: 0;
|
|
9303
|
-
padding: 0;
|
|
9304
|
-
background: transparent !important;
|
|
9305
|
-
font-family: "Geist Mono", "SF Mono", monospace !important;
|
|
9306
|
-
font-size: inherit !important;
|
|
9307
|
-
line-height: 1.5 !important;
|
|
9308
|
-
white-space: pre-wrap;
|
|
9309
|
-
overflow-wrap: break-word;
|
|
9310
|
-
word-break: normal;
|
|
9311
|
-
-webkit-user-select: text;
|
|
9312
|
-
user-select: text;
|
|
9313
|
-
}
|
|
9314
|
-
|
|
9315
|
-
/* serializeAsHTML 外层 div 携带主题色,直接继承 */
|
|
9316
|
-
.terminal-dom-view pre > div {
|
|
9317
|
-
font-family: "Geist Mono", "SF Mono", monospace !important;
|
|
9318
|
-
font-size: inherit !important;
|
|
9319
|
-
line-height: 1.5 !important;
|
|
9320
|
-
padding: 8px 12px;
|
|
9321
|
-
}
|
|
9322
|
-
|
|
9323
|
-
/* serializeAsHTML 每行 div */
|
|
9324
|
-
.terminal-dom-view pre > div > div {
|
|
9325
|
-
min-height: 1.5em;
|
|
9326
|
-
}
|
|
9327
|
-
|
|
9328
|
-
/* span 继承终端字体 */
|
|
9329
|
-
.terminal-dom-view span {
|
|
9330
|
-
font-family: inherit !important;
|
|
9331
|
-
font-size: inherit !important;
|
|
9332
|
-
line-height: inherit !important;
|
|
9333
|
-
}
|
|
9334
|
-
|
|
9335
|
-
/* 确保按钮在 DOM 视图之上 */
|
|
9336
9530
|
.terminal-jump-bottom {
|
|
9337
9531
|
z-index: 20;
|
|
9338
9532
|
}
|