@co0ontty/wand 1.18.1 → 1.18.12

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.
@@ -1054,16 +1054,16 @@
1054
1054
  }
1055
1055
  .claude-history-item:hover {
1056
1056
  opacity: 1;
1057
- background: rgba(150, 118, 85, 0.06);
1057
+ background: rgba(255, 253, 250, 0.96);
1058
1058
  }
1059
1059
 
1060
1060
  /* ===== 会话卡片项 ===== */
1061
1061
  .session-item {
1062
1062
  width: 100%;
1063
1063
  text-align: left;
1064
- background: var(--bg-surface);
1065
- border: 1px solid transparent;
1066
- border-radius: var(--radius-md);
1064
+ background: rgba(255, 252, 247, 0.92);
1065
+ border: 1px solid var(--border-subtle);
1066
+ border-radius: 10px;
1067
1067
  color: var(--text-primary);
1068
1068
  padding: 10px 12px;
1069
1069
  cursor: pointer;
@@ -1097,6 +1097,7 @@
1097
1097
  position: relative;
1098
1098
  z-index: 2;
1099
1099
  background: inherit;
1100
+ border-radius: inherit;
1100
1101
  transition: transform 0.3s var(--ease-out-expo);
1101
1102
  will-change: transform;
1102
1103
  }
@@ -1148,7 +1149,7 @@
1148
1149
 
1149
1150
  .session-item.selected {
1150
1151
  border-color: rgba(197, 101, 61, 0.35);
1151
- background: rgba(197, 101, 61, 0.08);
1152
+ background: rgba(255, 245, 238, 0.96);
1152
1153
  }
1153
1154
 
1154
1155
  .session-item.selected::before {
@@ -1803,9 +1804,9 @@
1803
1804
 
1804
1805
  /* ===== 会话卡片交互效果 ===== */
1805
1806
  .session-item:hover {
1806
- background: rgba(150, 118, 85, 0.06);
1807
- border-color: var(--border-subtle);
1808
- box-shadow: 0 1px 4px rgba(89, 58, 32, 0.04);
1807
+ background: rgba(255, 253, 250, 0.96);
1808
+ border-color: var(--border-default);
1809
+ box-shadow: 0 2px 8px rgba(89, 58, 32, 0.07);
1809
1810
  }
1810
1811
 
1811
1812
  .session-item:hover::before {
@@ -1814,9 +1815,9 @@
1814
1815
  }
1815
1816
 
1816
1817
  .session-item.active {
1817
- background: rgba(197, 101, 61, 0.08);
1818
- border-color: rgba(197, 101, 61, 0.2);
1819
- box-shadow: 0 1px 6px rgba(197, 101, 61, 0.08);
1818
+ background: rgba(255, 247, 240, 0.96);
1819
+ border-color: rgba(197, 101, 61, 0.3);
1820
+ box-shadow: 0 2px 8px rgba(197, 101, 61, 0.1);
1820
1821
  }
1821
1822
 
1822
1823
  .session-item.active::before {
@@ -1884,7 +1885,7 @@
1884
1885
 
1885
1886
  .session-status.running .session-status-dot {
1886
1887
  background: var(--success);
1887
- box-shadow: 0 0 8px var(--success-glow);
1888
+ box-shadow: 0 0 5px var(--success-glow);
1888
1889
  animation: status-pulse 2s ease-in-out infinite;
1889
1890
  }
1890
1891
 
@@ -2219,15 +2220,92 @@
2219
2220
 
2220
2221
  .terminal-info { font-size: 0.625rem; color: var(--text-muted); font-weight: 500; }
2221
2222
 
2222
- /* ===== 主内容区顶部行 ===== */
2223
+ /* ===== 主内容区顶部行(三段式) ===== */
2223
2224
  .main-header-row {
2224
2225
  display: flex;
2225
2226
  align-items: center;
2226
- justify-content: flex-start;
2227
2227
  padding: 6px 10px;
2228
2228
  flex-shrink: 0;
2229
2229
  min-height: 44px;
2230
2230
  gap: 8px;
2231
+ position: relative;
2232
+ }
2233
+ .topbar-left {
2234
+ display: flex;
2235
+ align-items: center;
2236
+ gap: 8px;
2237
+ flex-shrink: 0;
2238
+ }
2239
+ .topbar-center {
2240
+ flex: 1;
2241
+ min-width: 0;
2242
+ display: flex;
2243
+ align-items: center;
2244
+ gap: 8px;
2245
+ overflow: hidden;
2246
+ }
2247
+ .topbar-right {
2248
+ display: flex;
2249
+ align-items: center;
2250
+ gap: 4px;
2251
+ flex-shrink: 0;
2252
+ }
2253
+
2254
+ /* 左段品牌徽标 */
2255
+ .topbar-brand {
2256
+ display: inline-flex;
2257
+ align-items: center;
2258
+ justify-content: center;
2259
+ width: 26px;
2260
+ height: 26px;
2261
+ border-radius: 8px;
2262
+ background: linear-gradient(135deg, var(--accent), var(--accent-active));
2263
+ color: #fff;
2264
+ font-weight: 700;
2265
+ font-size: 0.85rem;
2266
+ letter-spacing: 0.02em;
2267
+ box-shadow: 0 1px 3px rgba(89, 58, 32, 0.18);
2268
+ user-select: none;
2269
+ flex-shrink: 0;
2270
+ }
2271
+
2272
+ /* 中段:会话标题 / cwd / 标语 */
2273
+ .topbar-session-title {
2274
+ font-weight: 600;
2275
+ font-size: 0.85rem;
2276
+ color: var(--text-primary);
2277
+ white-space: nowrap;
2278
+ overflow: hidden;
2279
+ text-overflow: ellipsis;
2280
+ flex-shrink: 0;
2281
+ max-width: 240px;
2282
+ }
2283
+ .topbar-cwd {
2284
+ color: var(--text-muted);
2285
+ font-size: 0.72rem;
2286
+ font-family: var(--font-mono, monospace);
2287
+ white-space: nowrap;
2288
+ overflow: hidden;
2289
+ text-overflow: ellipsis;
2290
+ min-width: 0;
2291
+ flex: 1 1 0;
2292
+ cursor: pointer;
2293
+ padding: 2px 6px;
2294
+ border-radius: 6px;
2295
+ direction: rtl;
2296
+ text-align: left;
2297
+ transition: background var(--transition-fast), color var(--transition-fast);
2298
+ }
2299
+ .topbar-cwd:hover {
2300
+ background: rgba(255, 255, 255, 0.55);
2301
+ color: var(--text-secondary);
2302
+ }
2303
+ .topbar-tagline {
2304
+ color: var(--text-muted);
2305
+ font-size: 0.78rem;
2306
+ white-space: nowrap;
2307
+ overflow: hidden;
2308
+ text-overflow: ellipsis;
2231
2309
  }
2232
2310
 
2233
2311
  /* PWA 模式额外留出顶部缓冲,避免与 iPadOS Stage Manager 等系统浮动控件视觉粘连 */
@@ -2240,7 +2318,65 @@
2240
2318
  padding-top: 10px;
2241
2319
  }
2242
2320
 
2243
- /* Current task indicator */
2321
+ /* 会话状态徽标(静态) */
2322
+ .session-status-pill {
2323
+ display: inline-flex;
2324
+ align-items: center;
2325
+ gap: 5px;
2326
+ font-size: 0.7rem;
2327
+ font-weight: 500;
2328
+ color: var(--text-secondary);
2329
+ background: var(--bg-elevated);
2330
+ border: 1px solid var(--border-subtle);
2331
+ border-radius: 20px;
2332
+ padding: 2px 9px 2px 7px;
2333
+ flex-shrink: 0;
2334
+ max-width: 140px;
2335
+ white-space: nowrap;
2336
+ overflow: hidden;
2337
+ }
2338
+ .session-status-pill .session-status-dot {
2339
+ width: 6px;
2340
+ height: 6px;
2341
+ border-radius: 50%;
2342
+ background: var(--text-muted);
2343
+ flex-shrink: 0;
2344
+ }
2345
+ .session-status-pill .session-status-text {
2346
+ overflow: hidden;
2347
+ text-overflow: ellipsis;
2348
+ }
2349
+ .session-status-pill.running {
2350
+ background: var(--success-muted);
2351
+ border-color: rgba(79, 122, 88, 0.3);
2352
+ color: var(--success);
2353
+ }
2354
+ .session-status-pill.running .session-status-dot {
2355
+ background: var(--success);
2356
+ animation: task-pulse 1.2s ease-in-out infinite;
2357
+ }
2358
+ .session-status-pill.permission-blocked {
2359
+ background: var(--warning-muted);
2360
+ border-color: rgba(169, 106, 47, 0.35);
2361
+ color: var(--warning);
2362
+ }
2363
+ .session-status-pill.permission-blocked .session-status-dot {
2364
+ background: var(--warning);
2365
+ animation: task-pulse 1.2s ease-in-out infinite;
2366
+ }
2367
+ .session-status-pill.exited,
2368
+ .session-status-pill.stopped {
2369
+ color: var(--text-muted);
2370
+ }
2371
+ .session-status-pill.failed {
2372
+ background: var(--danger-muted);
2373
+ border-color: rgba(178, 79, 69, 0.3);
2374
+ color: var(--danger);
2375
+ }
2376
+ .session-status-pill.failed .session-status-dot { background: var(--danger); }
2377
+ .session-status-pill.archived { opacity: 0.7; }
2378
+
2379
+ /* Current task indicator(动态活动徽标,由 updateTaskDisplay 管理) */
2244
2380
  .current-task {
2245
2381
  display: flex;
2246
2382
  align-items: center;
@@ -2252,7 +2388,7 @@
2252
2388
  border-radius: 20px;
2253
2389
  padding: 2px 8px 2px 5px;
2254
2390
  font-weight: 500;
2255
- max-width: 280px;
2391
+ max-width: 240px;
2256
2392
  min-width: 0;
2257
2393
  overflow: hidden;
2258
2394
  flex-shrink: 1;
@@ -2274,6 +2410,50 @@
2274
2410
  50% { opacity: 0.5; transform: scale(0.8); }
2275
2411
  }
2276
2412
 
2413
+ /* 右段更多菜单 */
2414
+ .topbar-more-wrap {
2415
+ position: relative;
2416
+ display: inline-flex;
2417
+ }
2418
+ .topbar-more-menu {
2419
+ position: absolute;
2420
+ top: calc(100% + 6px);
2421
+ right: 0;
2422
+ min-width: 168px;
2423
+ background: var(--bg-elevated);
2424
+ border: 1px solid var(--border-default);
2425
+ border-radius: var(--radius-md);
2426
+ padding: 4px;
2427
+ box-shadow: var(--shadow-lg);
2428
+ z-index: 60;
2429
+ display: flex;
2430
+ flex-direction: column;
2431
+ gap: 1px;
2432
+ }
2433
+ .topbar-more-menu.hidden { display: none; }
2434
+ .topbar-more-item {
2435
+ display: flex;
2436
+ align-items: center;
2437
+ gap: 9px;
2438
+ width: 100%;
2439
+ padding: 8px 12px;
2440
+ border: 0;
2441
+ background: transparent;
2442
+ color: var(--text-primary);
2443
+ font-family: var(--font-sans);
2444
+ font-size: 0.82rem;
2445
+ font-weight: 500;
2446
+ cursor: pointer;
2447
+ border-radius: 8px;
2448
+ text-align: left;
2449
+ transition: background var(--transition-fast), color var(--transition-fast);
2450
+ }
2451
+ .topbar-more-item:hover { background: var(--accent-muted); color: var(--accent); }
2452
+ .topbar-more-item svg { flex-shrink: 0; opacity: 0.85; }
2453
+ .topbar-more-item.topbar-more-item-danger { color: var(--danger); }
2454
+ .topbar-more-item.topbar-more-item-danger:hover { background: var(--danger-muted); color: var(--danger-hover); }
2455
+ .topbar-more-item.hidden { display: none; }
2456
+
2277
2457
  /* 桌面端显示所有按钮 */
2278
2458
  .terminal-scale-toggle { display: flex; }
2279
2459
  .terminal-tool-btn { display: inline-flex; }
@@ -6565,6 +6745,12 @@
6565
6745
  .current-task { font-size: 0.5625rem; padding: 1px 6px 1px 4px; gap: 3px; }
6566
6746
 
6567
6747
  .main-header-row { padding: 2px 6px; gap: 4px; }
6748
+ .topbar-brand,
6749
+ .topbar-cwd { display: none; }
6750
+ .topbar-session-title { max-width: 140px; font-size: 0.78rem; }
6751
+ .session-status-pill { font-size: 0.625rem; padding: 1px 7px 1px 5px; max-width: 110px; }
6752
+ .session-status-pill .session-status-dot { width: 5px; height: 5px; }
6753
+ .topbar-more-menu { min-width: 156px; }
6568
6754
 
6569
6755
  /* 视图切换按钮 - 紧凑 */
6570
6756
  .view-toggle { height: 28px; padding: 2px; gap: 1px; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@co0ontty/wand",
3
- "version": "1.18.1",
3
+ "version": "1.18.12",
4
4
  "description": "A web terminal for local CLI tools like Claude.",
5
5
  "type": "module",
6
6
  "bin": {