@co0ontty/wand 1.0.1 → 1.1.1

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.
@@ -1595,12 +1595,81 @@
1595
1595
 
1596
1596
  .terminal-container .xterm-viewport {
1597
1597
  background: transparent !important;
1598
+ scrollbar-width: none;
1599
+ }
1600
+ .terminal-container .xterm-viewport::-webkit-scrollbar {
1601
+ display: none;
1598
1602
  }
1599
1603
 
1600
1604
  .terminal-container .xterm {
1601
1605
  padding: 0;
1602
1606
  }
1603
1607
 
1608
+ /* ===== 自定义终端滚动条 ===== */
1609
+ .terminal-scrollbar {
1610
+ position: absolute;
1611
+ top: 4px;
1612
+ right: 2px;
1613
+ bottom: 4px;
1614
+ width: 14px;
1615
+ z-index: 10;
1616
+ opacity: 0;
1617
+ transition: opacity 0.3s ease;
1618
+ pointer-events: none;
1619
+ }
1620
+ .terminal-scrollbar.visible {
1621
+ opacity: 1;
1622
+ pointer-events: auto;
1623
+ }
1624
+ .terminal-scrollbar-track {
1625
+ position: absolute;
1626
+ top: 0;
1627
+ right: 0;
1628
+ bottom: 0;
1629
+ width: 14px;
1630
+ border-radius: 7px;
1631
+ }
1632
+ .terminal-scrollbar-thumb {
1633
+ position: absolute;
1634
+ right: 3px;
1635
+ width: 8px;
1636
+ min-height: 28px;
1637
+ border-radius: 4px;
1638
+ background: rgba(180, 150, 120, 0.35);
1639
+ cursor: pointer;
1640
+ transition: background 0.15s ease, width 0.15s ease, right 0.15s ease;
1641
+ }
1642
+ .terminal-scrollbar-thumb:hover {
1643
+ background: rgba(200, 170, 140, 0.55);
1644
+ width: 10px;
1645
+ right: 2px;
1646
+ }
1647
+ .terminal-scrollbar-thumb.dragging,
1648
+ .terminal-scrollbar-thumb:active {
1649
+ background: rgba(220, 185, 150, 0.7);
1650
+ width: 10px;
1651
+ right: 2px;
1652
+ }
1653
+
1654
+ @media (pointer: coarse) {
1655
+ .terminal-scrollbar {
1656
+ width: 20px;
1657
+ }
1658
+ .terminal-scrollbar-track {
1659
+ width: 20px;
1660
+ }
1661
+ .terminal-scrollbar-thumb {
1662
+ width: 12px;
1663
+ right: 4px;
1664
+ min-height: 36px;
1665
+ }
1666
+ .terminal-scrollbar-thumb:hover,
1667
+ .terminal-scrollbar-thumb.dragging {
1668
+ width: 14px;
1669
+ right: 3px;
1670
+ }
1671
+ }
1672
+
1604
1673
  .terminal-container:focus-within {
1605
1674
  border-color: rgba(197, 101, 61, 0.5);
1606
1675
  box-shadow:
@@ -5690,6 +5759,160 @@
5690
5759
  to { opacity: 1; }
5691
5760
  }
5692
5761
 
5762
+ /* ── Settings modal ── */
5763
+
5764
+ .settings-modal {
5765
+ max-width: 520px;
5766
+ max-height: 80vh;
5767
+ }
5768
+
5769
+ .settings-tabs {
5770
+ display: flex;
5771
+ gap: 2px;
5772
+ border-bottom: 1px solid var(--border-subtle);
5773
+ margin-bottom: 16px;
5774
+ padding-bottom: 0;
5775
+ }
5776
+
5777
+ .settings-tab {
5778
+ padding: 8px 14px;
5779
+ font-size: 0.8125rem;
5780
+ font-weight: 500;
5781
+ color: var(--text-secondary);
5782
+ background: none;
5783
+ border: none;
5784
+ border-bottom: 2px solid transparent;
5785
+ cursor: pointer;
5786
+ transition: color 0.15s, border-color 0.15s;
5787
+ white-space: nowrap;
5788
+ }
5789
+
5790
+ .settings-tab:hover {
5791
+ color: var(--text-primary);
5792
+ }
5793
+
5794
+ .settings-tab.active {
5795
+ color: var(--accent);
5796
+ border-bottom-color: var(--accent);
5797
+ }
5798
+
5799
+ .settings-panel {
5800
+ display: none;
5801
+ }
5802
+
5803
+ .settings-panel.active {
5804
+ display: block;
5805
+ }
5806
+
5807
+ .settings-about-info {
5808
+ display: flex;
5809
+ flex-direction: column;
5810
+ gap: 10px;
5811
+ margin-bottom: 18px;
5812
+ }
5813
+
5814
+ .settings-about-row {
5815
+ display: flex;
5816
+ justify-content: space-between;
5817
+ align-items: center;
5818
+ font-size: 0.8125rem;
5819
+ }
5820
+
5821
+ .settings-label {
5822
+ color: var(--text-secondary);
5823
+ font-weight: 500;
5824
+ }
5825
+
5826
+ .settings-value {
5827
+ color: var(--text-primary);
5828
+ font-family: var(--font-mono);
5829
+ font-size: 0.8rem;
5830
+ }
5831
+
5832
+ .settings-value a {
5833
+ color: var(--accent);
5834
+ text-decoration: none;
5835
+ }
5836
+
5837
+ .settings-value a:hover {
5838
+ text-decoration: underline;
5839
+ }
5840
+
5841
+ .settings-update-section {
5842
+ border-top: 1px solid var(--border-subtle);
5843
+ padding-top: 14px;
5844
+ }
5845
+
5846
+ .settings-update-actions {
5847
+ display: flex;
5848
+ gap: 8px;
5849
+ margin-top: 10px;
5850
+ }
5851
+
5852
+ .settings-section-title {
5853
+ font-size: 0.875rem;
5854
+ font-weight: 600;
5855
+ color: var(--text-primary);
5856
+ margin: 0 0 12px 0;
5857
+ }
5858
+
5859
+ .settings-divider {
5860
+ border: none;
5861
+ border-top: 1px solid var(--border-subtle);
5862
+ margin: 18px 0;
5863
+ }
5864
+
5865
+ .settings-hint {
5866
+ font-size: 0.8rem;
5867
+ color: var(--text-secondary);
5868
+ margin: 0 0 12px 0;
5869
+ }
5870
+
5871
+ .field-inline {
5872
+ display: flex;
5873
+ align-items: center;
5874
+ gap: 10px;
5875
+ flex-direction: row;
5876
+ }
5877
+
5878
+ .field-inline .field-label {
5879
+ margin-bottom: 0;
5880
+ }
5881
+
5882
+ .field-checkbox {
5883
+ width: 18px;
5884
+ height: 18px;
5885
+ accent-color: var(--accent);
5886
+ cursor: pointer;
5887
+ }
5888
+
5889
+ .field-file {
5890
+ font-size: 0.8rem;
5891
+ padding: 6px;
5892
+ }
5893
+
5894
+ .preset-item {
5895
+ display: flex;
5896
+ justify-content: space-between;
5897
+ align-items: center;
5898
+ padding: 10px 12px;
5899
+ background: var(--bg-secondary);
5900
+ border-radius: 8px;
5901
+ margin-bottom: 8px;
5902
+ font-size: 0.8125rem;
5903
+ }
5904
+
5905
+ .preset-label {
5906
+ font-weight: 500;
5907
+ color: var(--text-primary);
5908
+ }
5909
+
5910
+ .preset-detail {
5911
+ color: var(--text-secondary);
5912
+ font-family: var(--font-mono);
5913
+ font-size: 0.75rem;
5914
+ }
5915
+
5693
5916
  .file-preview-modal {
5694
5917
  width: min(90vw, calc(100vw - 380px));
5695
5918
  max-width: 1000px;
@@ -12,7 +12,7 @@ export function renderApp(configPath) {
12
12
  <html lang="zh-CN">
13
13
  <head>
14
14
  <meta charset="utf-8" />
15
- <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, user-scalable=no" />
15
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content, user-scalable=no" />
16
16
  <title>Wand Console</title>
17
17
  <meta name="description" content="Local CLI Console for Vibe Coding - Manage terminal sessions from your browser" />
18
18
  <meta name="theme-color" content="#f6f1e8" media="(prefers-color-scheme: light)" />
@@ -26,7 +26,7 @@ export function renderApp(configPath) {
26
26
  <meta name="msapplication-TileColor" content="#c5653d" />
27
27
  <meta name="msapplication-tap-highlight" content="no" />
28
28
  <link rel="icon" href="/icon.svg" type="image/svg+xml" />
29
- <link rel="apple-touch-icon" href="/icon-192.png" />
29
+ <link rel="apple-touch-icon" href="/icon.svg" />
30
30
  <link rel="manifest" href="/manifest.json" />
31
31
  <link rel="stylesheet" href="/vendor/xterm/css/xterm.css" />
32
32
  <style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@co0ontty/wand",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "A web terminal for local CLI tools like Claude.",
5
5
  "type": "module",
6
6
  "bin": {