dsh-project-room 0.2.6 → 0.2.7
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/client.js +51 -51
- package/package.json +1 -1
package/client.js
CHANGED
|
@@ -303,42 +303,42 @@ window.__ModuleLoader__.load({
|
|
|
303
303
|
flex: 1; min-width: 0; height: 22px; box-sizing: border-box; padding: 0 6px;
|
|
304
304
|
border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1);
|
|
305
305
|
background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary);
|
|
306
|
-
font-size:
|
|
306
|
+
font-size: calc(11px + var(--dsh-content-font-delta, 0px)); outline: none;
|
|
307
307
|
}
|
|
308
308
|
.pr-head { display: flex; align-items: center; gap: 6px; padding: 2px 6px 4px; flex: 0 0 auto; }
|
|
309
|
-
.pr-head-title { font-size:
|
|
310
|
-
.pr-head-count { font-size:
|
|
309
|
+
.pr-head-title { font-size: calc(11.5px + var(--dsh-content-font-delta, 0px)); letter-spacing: 0.04em; font-weight: 600; color: var(--dsw-alias-label-secondary); }
|
|
310
|
+
.pr-head-count { font-size: calc(10px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary); opacity: .75; margin-left: auto; }
|
|
311
311
|
/* 「未分组」那一行:折叠按钮 + 清理按钮 */
|
|
312
312
|
.pr-loose-row { display: flex; gap: 4px; align-items: center; padding: 0 6px 6px; flex: 0 0 auto; }
|
|
313
313
|
.pr-loose-toggle {
|
|
314
314
|
padding: 1px 6px;
|
|
315
315
|
border: 1px solid var(--dsw-alias-border-l1); border-radius: 6px;
|
|
316
316
|
background: transparent; color: var(--dsw-alias-label-secondary);
|
|
317
|
-
font-size:
|
|
317
|
+
font-size: calc(10px + var(--dsh-content-font-delta, 0px)); line-height: 1.6; cursor: pointer; flex: 0 0 auto;
|
|
318
318
|
}
|
|
319
319
|
.pr-loose-toggle:hover { background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-primary); }
|
|
320
320
|
.pr-chip-badge {
|
|
321
321
|
flex: 0 0 auto; min-width: 14px; height: 14px; padding: 0 3px; border-radius: 7px;
|
|
322
322
|
display: inline-flex; align-items: center; justify-content: center;
|
|
323
323
|
background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-secondary);
|
|
324
|
-
font-size:
|
|
324
|
+
font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1; font-variant-numeric: tabular-nums;
|
|
325
325
|
}
|
|
326
|
-
.pr-chip-elapsed { flex: 0 0 auto; font-size:
|
|
326
|
+
.pr-chip-elapsed { flex: 0 0 auto; font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1; font-variant-numeric: tabular-nums; color: var(--dsw-alias-state-success-primary); }
|
|
327
327
|
/* 分身子行:树状(├ / └ 竖线缩进) */
|
|
328
328
|
.pr-chip-clones { display: flex; flex-direction: column; gap: 1px; margin-top: 1px; padding-left: 0; }
|
|
329
329
|
.pr-clone-row {
|
|
330
330
|
display: flex; align-items: center; gap: 3px;
|
|
331
|
-
font-size:
|
|
331
|
+
font-size: calc(9.5px + var(--dsh-content-font-delta, 0px)); line-height: 1.5; color: var(--dsw-alias-label-secondary);
|
|
332
332
|
cursor: pointer; border-radius: 3px; padding: 0;
|
|
333
333
|
}
|
|
334
334
|
.pr-clone-row:hover { background: var(--dsw-alias-interactive-bg-hover, rgba(255,255,255,0.06)); color: var(--dsw-alias-label-primary); }
|
|
335
|
-
.pr-tree-rail { flex: 0 0 auto; width: 7px; color: var(--dsw-alias-border-l2, #4a4a4a); font-size:
|
|
335
|
+
.pr-tree-rail { flex: 0 0 auto; width: 7px; color: var(--dsw-alias-border-l2, #4a4a4a); font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1.5; }
|
|
336
336
|
.pr-clone-dot { flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 1px var(--dsw-alias-label-secondary); }
|
|
337
337
|
.pr-clone-dot.on { background: var(--dsw-alias-state-success-primary, #4ade80); box-shadow: none; }
|
|
338
338
|
/* 同理:分身子行名不再 ellipsis,长任务名完整显示(行高会自动撑开)。 */
|
|
339
339
|
.pr-clone-name { min-width: 0; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
|
|
340
340
|
.pr-clone-elapsed {
|
|
341
|
-
flex: 0 0 auto; margin-left: 3px; font-size:
|
|
341
|
+
flex: 0 0 auto; margin-left: 3px; font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1;
|
|
342
342
|
font-variant-numeric: tabular-nums;
|
|
343
343
|
color: var(--dsw-alias-state-success-primary);
|
|
344
344
|
}
|
|
@@ -347,31 +347,31 @@ window.__ModuleLoader__.load({
|
|
|
347
347
|
position: fixed; z-index: 1000; min-width: 168px; padding: 4px;
|
|
348
348
|
border-radius: 8px; border: 1px solid var(--dsw-alias-border-l2);
|
|
349
349
|
background: var(--dsw-alias-bg-layer-2); box-shadow: 0 12px 32px rgba(0,0,0,.45);
|
|
350
|
-
font-size:
|
|
350
|
+
font-size: calc(12px + var(--dsh-content-font-delta, 0px));
|
|
351
351
|
}
|
|
352
352
|
.pr-menu-item {
|
|
353
353
|
display: block; width: 100%; text-align: left; padding: 5px 8px; border: none; border-radius: 5px;
|
|
354
|
-
background: transparent; color: var(--dsw-alias-label-primary); font: inherit; font-size:
|
|
354
|
+
background: transparent; color: var(--dsw-alias-label-primary); font: inherit; font-size: calc(12px + var(--dsh-content-font-delta, 0px)); cursor: pointer;
|
|
355
355
|
}
|
|
356
356
|
.pr-menu-item:hover { background: var(--dsw-alias-bg-layer-1); }
|
|
357
|
-
.pr-menu-msg { padding: 4px 8px; font-size:
|
|
357
|
+
.pr-menu-msg { padding: 4px 8px; font-size: calc(10.5px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary); }
|
|
358
358
|
.pr-modal { position: fixed; inset: 0; z-index: 1001; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.45); }
|
|
359
359
|
.pr-modal-box { width: min(420px, 88vw); padding: 14px; border-radius: 10px; background: var(--dsw-alias-bg-base); border: 1px solid var(--dsw-alias-border-l2); }
|
|
360
|
-
.pr-modal-title { font-size:
|
|
361
|
-
.pr-modal-input { width: 100%; box-sizing: border-box; height: 30px; padding: 0 8px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size:
|
|
360
|
+
.pr-modal-title { font-size: calc(13px + var(--dsh-content-font-delta, 0px)); font-weight: 600; margin-bottom: 8px; }
|
|
361
|
+
.pr-modal-input { width: 100%; box-sizing: border-box; height: 30px; padding: 0 8px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size: calc(12.5px + var(--dsh-content-font-delta, 0px)); outline: none; }
|
|
362
362
|
.pr-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
|
|
363
363
|
/* 头部「+ 新项目」按钮 */
|
|
364
364
|
.pr-new-btn {
|
|
365
365
|
flex: 0 0 auto; height: 18px; padding: 0 6px; border-radius: 5px;
|
|
366
366
|
border: 1px solid var(--dsw-alias-border-l1); background: transparent;
|
|
367
|
-
color: var(--dsw-alias-label-secondary); font-size:
|
|
367
|
+
color: var(--dsw-alias-label-secondary); font-size: calc(10px + var(--dsh-content-font-delta, 0px)); line-height: 1; cursor: pointer;
|
|
368
368
|
}
|
|
369
369
|
.pr-new-btn:hover { background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-primary); }
|
|
370
370
|
/* 房间关闭按钮:显式带文字,避免全屏遮罩下只剩一个小图标找不着 */
|
|
371
371
|
.pr-close-btn {
|
|
372
372
|
flex: 0 0 auto; height: 22px; padding: 0 10px; border-radius: 6px;
|
|
373
373
|
border: 1px solid var(--dsw-alias-border-l2); background: var(--dsw-alias-bg-layer-2);
|
|
374
|
-
color: var(--dsw-alias-label-primary); font-size:
|
|
374
|
+
color: var(--dsw-alias-label-primary); font-size: calc(11.5px + var(--dsh-content-font-delta, 0px)); line-height: 1; cursor: pointer;
|
|
375
375
|
}
|
|
376
376
|
.pr-close-btn:hover { border-color: var(--dsw-alias-brand-primary); }
|
|
377
377
|
/* 一页三段布局 */
|
|
@@ -396,11 +396,11 @@ window.__ModuleLoader__.load({
|
|
|
396
396
|
.pr-section { margin-bottom: 16px; }
|
|
397
397
|
.pr-section:last-child { margin-bottom: 4px; }
|
|
398
398
|
.pr-section-title {
|
|
399
|
-
font-size:
|
|
399
|
+
font-size: calc(11px + var(--dsh-content-font-delta, 0px)); font-weight: 700; letter-spacing: .06em;
|
|
400
400
|
color: var(--dsw-alias-label-secondary); text-transform: uppercase;
|
|
401
401
|
margin-bottom: 6px;
|
|
402
402
|
}
|
|
403
|
-
.pr-loose-msg { font-size:
|
|
403
|
+
.pr-loose-msg { font-size: calc(10px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary); padding: 0 6px 6px; line-height: 1.5; flex: 0 0 auto; }
|
|
404
404
|
|
|
405
405
|
/* 运行中快捷栏(对齐 AI-Agent-Hub):两段竖排 —— 上「运行中」、下「完成未读」 */
|
|
406
406
|
.pr-runbar { display: flex; flex-direction: column; gap: 4px; padding: 2px 4px 6px; flex: 0 0 auto; min-width: 0; }
|
|
@@ -413,7 +413,7 @@ window.__ModuleLoader__.load({
|
|
|
413
413
|
}
|
|
414
414
|
.pr-runbar-sec-title {
|
|
415
415
|
display: flex; align-items: center; gap: 4px; min-width: 0;
|
|
416
|
-
padding: 0 2px; font-size:
|
|
416
|
+
padding: 0 2px; font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1.4;
|
|
417
417
|
color: var(--dsw-alias-label-secondary); letter-spacing: .03em;
|
|
418
418
|
}
|
|
419
419
|
.pr-runbar-sec[data-kind="done"] .pr-runbar-sec-title { color: #d97757; }
|
|
@@ -425,7 +425,7 @@ window.__ModuleLoader__.load({
|
|
|
425
425
|
width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto;
|
|
426
426
|
display: inline-flex; align-items: center; justify-content: center;
|
|
427
427
|
background: #d97757; color: #fff;
|
|
428
|
-
font-size:
|
|
428
|
+
font-size: calc(8px + var(--dsh-content-font-delta, 0px)); font-weight: 700; line-height: 1;
|
|
429
429
|
}
|
|
430
430
|
.pr-runbar-sec-label { flex: 0 0 auto; white-space: nowrap; }
|
|
431
431
|
.pr-runbar-sec-count {
|
|
@@ -436,12 +436,12 @@ window.__ModuleLoader__.load({
|
|
|
436
436
|
子行样式与侧栏芯片的 pr-clone-row / pr-tree-rail 完全一致。 */
|
|
437
437
|
.pr-run-wrap { display: inline-flex; flex-direction: column; gap: 1px; align-items: flex-start; }
|
|
438
438
|
.pr-run-clones { display: flex; flex-direction: column; gap: 1px; padding-left: 6px; margin: 0 0 1px; }
|
|
439
|
-
.pr-run-clones .pr-clone-row { font-size:
|
|
439
|
+
.pr-run-clones .pr-clone-row { font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1.4; }
|
|
440
440
|
.pr-readall {
|
|
441
441
|
/* 2026-11-11:一键已读搬进「完成未读」区的小标题里,靠右对齐 */
|
|
442
442
|
flex: 0 0 auto; margin: 0 0 0 auto; padding: 1px 6px; border-radius: 8px;
|
|
443
443
|
border: 1px solid var(--dsw-alias-border-l1); background: transparent;
|
|
444
|
-
color: #d97757; font-size:
|
|
444
|
+
color: #d97757; font-size: calc(9.5px + var(--dsh-content-font-delta, 0px)); line-height: 1.4;
|
|
445
445
|
white-space: nowrap; cursor: pointer;
|
|
446
446
|
}
|
|
447
447
|
.pr-readall:hover { background: var(--dsw-alias-bg-layer-2); }
|
|
@@ -451,7 +451,7 @@ window.__ModuleLoader__.load({
|
|
|
451
451
|
min-height: 20px; padding: 2px 7px 2px 3px; border-radius: 11px;
|
|
452
452
|
border: 1px solid transparent; background: transparent;
|
|
453
453
|
color: var(--dsw-alias-label-secondary);
|
|
454
|
-
font: inherit; font-size:
|
|
454
|
+
font: inherit; font-size: calc(11.5px + var(--dsh-content-font-delta, 0px)); line-height: 1.2; white-space: nowrap; cursor: pointer;
|
|
455
455
|
}
|
|
456
456
|
.pr-run-pill:hover { background: var(--dsw-alias-bg-layer-1); }
|
|
457
457
|
.pr-run-pill[data-active="1"] {
|
|
@@ -462,28 +462,28 @@ window.__ModuleLoader__.load({
|
|
|
462
462
|
.pr-run-avatar { width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; line-height: 1; }
|
|
463
463
|
.pr-run-project { display: inline-flex; align-items: center; gap: 3px; flex: 0 0 auto; min-width: 0; }
|
|
464
464
|
.pr-run-project-dot { width: 6px; height: 6px; border-radius: 2px; flex: 0 0 auto; }
|
|
465
|
-
.pr-run-project-name { font-size:
|
|
465
|
+
.pr-run-project-name { font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
|
|
466
466
|
/* 2026-11-09 用户令「标题要显示全」:快捷栏 pill 名字原来 nowrap+ellipsis 会被吃掉,改为可换行。 */
|
|
467
467
|
.pr-run-name { min-width: 0; flex: 0 1 auto; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
|
|
468
468
|
.pr-run-badge {
|
|
469
469
|
flex: 0 0 auto; min-width: 14px; height: 14px; padding: 0 3px; border-radius: 7px;
|
|
470
470
|
display: inline-flex; align-items: center; justify-content: center;
|
|
471
471
|
background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-secondary);
|
|
472
|
-
font-size:
|
|
472
|
+
font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1; font-variant-numeric: tabular-nums;
|
|
473
473
|
}
|
|
474
|
-
.pr-run-done { display: inline-flex; align-items: center; gap: 3px; flex: 0 0 auto; font-size:
|
|
474
|
+
.pr-run-done { display: inline-flex; align-items: center; gap: 3px; flex: 0 0 auto; font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1; color: var(--dsw-alias-brand-primary); }
|
|
475
475
|
.pr-run-check {
|
|
476
476
|
width: 10px; height: 10px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
|
|
477
|
-
background: #d97757; color: #fff; font-size:
|
|
477
|
+
background: #d97757; color: #fff; font-size: calc(8px + var(--dsh-content-font-delta, 0px)); font-weight: 700; line-height: 1;
|
|
478
478
|
}
|
|
479
|
-
.pr-run-elapsed { flex: 0 0 auto; font-size:
|
|
479
|
+
.pr-run-elapsed { flex: 0 0 auto; font-size: calc(9px + var(--dsh-content-font-delta, 0px)); line-height: 1; font-variant-numeric: tabular-nums; color: var(--dsw-alias-state-success-primary); }
|
|
480
480
|
|
|
481
481
|
/* 项目行:22px 紧凑行高 + 顶部细线,读起来像「项目」而不是一行会话 */
|
|
482
482
|
.pr-proj {
|
|
483
483
|
display: flex; align-items: center; gap: 6px;
|
|
484
484
|
height: 22px; min-height: 22px; padding: 0 6px;
|
|
485
485
|
margin-top: 6px; border-radius: 6px;
|
|
486
|
-
font-size:
|
|
486
|
+
font-size: calc(12px + var(--dsh-content-font-delta, 0px)); font-weight: 600;
|
|
487
487
|
box-shadow: inset 0 1px 0 var(--dsw-alias-border-l1);
|
|
488
488
|
cursor: pointer; overflow: hidden;
|
|
489
489
|
}
|
|
@@ -492,11 +492,11 @@ window.__ModuleLoader__.load({
|
|
|
492
492
|
.pr-dot { width: 6px; height: 6px; border-radius: 2px; flex: 0 0 auto; }
|
|
493
493
|
.pr-proj-name { flex: 0 1 auto; max-width: 100%; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
494
494
|
.pr-spacer { flex: 1 1 auto; min-width: 4px; }
|
|
495
|
-
.pr-meta { font-size:
|
|
495
|
+
.pr-meta { font-size: calc(10px + var(--dsh-content-font-delta, 0px)); font-weight: 500; color: var(--dsw-alias-label-secondary); flex: 0 0 auto; font-variant-numeric: tabular-nums; }
|
|
496
496
|
.pr-icon-btn {
|
|
497
497
|
width: 18px; height: 18px; flex: 0 0 auto; border: none; padding: 0; border-radius: 5px;
|
|
498
498
|
background: transparent; color: var(--dsw-alias-label-secondary);
|
|
499
|
-
cursor: pointer; font-size:
|
|
499
|
+
cursor: pointer; font-size: calc(10px + var(--dsh-content-font-delta, 0px)); line-height: 1;
|
|
500
500
|
}
|
|
501
501
|
.pr-icon-btn:hover { background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-primary); }
|
|
502
502
|
/* 图钉:默认隐藏,悬停显形;已置顶常显 */
|
|
@@ -519,7 +519,7 @@ window.__ModuleLoader__.load({
|
|
|
519
519
|
padding: 0; border-radius: 11px;
|
|
520
520
|
border: 1px solid transparent; background: transparent;
|
|
521
521
|
color: var(--dsw-alias-label-secondary);
|
|
522
|
-
font: inherit; font-size:
|
|
522
|
+
font: inherit; font-size: calc(11.5px + var(--dsh-content-font-delta, 0px)); line-height: 1.2;
|
|
523
523
|
cursor: pointer; box-sizing: border-box; overflow-wrap: anywhere;
|
|
524
524
|
}
|
|
525
525
|
/* 本体那一行(头像 + 名字 + badge + 圆点 + 时长):单独成盒,选中背景只作用在它上面 */
|
|
@@ -579,25 +579,25 @@ window.__ModuleLoader__.load({
|
|
|
579
579
|
100% { transform: scale(1); opacity: 1; box-shadow: 0 0 0 0 transparent; }
|
|
580
580
|
}
|
|
581
581
|
.pr-running-dot { width: 6px; height: 6px; border-radius: 50%; flex: 0 0 auto; background: var(--dsw-alias-state-success-primary); animation: pr-pulse 1.4s ease-in-out infinite; }
|
|
582
|
-
.pr-empty { padding: 10px 8px; font-size:
|
|
582
|
+
.pr-empty { padding: 10px 8px; font-size: calc(11px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary); text-align: center; }
|
|
583
583
|
|
|
584
584
|
/* 房间浮层 */
|
|
585
585
|
.pr-overlay { position: fixed; z-index: 900; display: flex; flex-direction: column; background: var(--dsw-alias-bg-base); border-left: 1px solid var(--dsw-alias-border-l1); }
|
|
586
586
|
.pr-panel { width: 100%; height: 100%; display: flex; flex-direction: column; background: var(--dsw-alias-bg-base); }
|
|
587
587
|
.pr-panel-head { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--dsw-alias-border-l1); }
|
|
588
|
-
.pr-panel-title { font-size:
|
|
588
|
+
.pr-panel-title { font-size: calc(13px + var(--dsh-content-font-delta, 0px)); font-weight: 700; }/* 2026-11-10 用户令「群聊页字体太大」:14px→13px,与分区标题/正文一起收一档 */
|
|
589
589
|
.pr-tabs { display: flex; gap: 2px; margin-left: 10px; }
|
|
590
|
-
.pr-tab { padding: 3px 10px; border-radius: 6px; border: none; background: transparent; color: var(--dsw-alias-label-secondary); font-size:
|
|
590
|
+
.pr-tab { padding: 3px 10px; border-radius: 6px; border: none; background: transparent; color: var(--dsw-alias-label-secondary); font-size: calc(12px + var(--dsh-content-font-delta, 0px)); cursor: pointer; }
|
|
591
591
|
.pr-tab.on { background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-primary); font-weight: 600; }
|
|
592
592
|
.pr-panel-body { flex: 1; min-height: 0; overflow: hidden; padding: 12px 14px; display: flex; flex-direction: column; }
|
|
593
593
|
.pr-panel-foot { border-top: 1px solid var(--dsw-alias-border-l1); padding: 8px 14px; display: flex; gap: 8px; align-items: flex-end; }
|
|
594
|
-
.pr-textarea { flex: 1; min-height: 34px; max-height: 120px; resize: vertical; padding: 6px 8px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size:
|
|
595
|
-
.pr-btn { padding: 6px 12px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l2); background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-primary); font-size:
|
|
594
|
+
.pr-textarea { flex: 1; min-height: 34px; max-height: 120px; resize: vertical; padding: 6px 8px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size: calc(12px + var(--dsh-content-font-delta, 0px)); font-family: inherit; outline: none; }
|
|
595
|
+
.pr-btn { padding: 6px 12px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l2); background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-primary); font-size: calc(12px + var(--dsh-content-font-delta, 0px)); cursor: pointer; white-space: nowrap; }
|
|
596
596
|
.pr-btn:hover { border-color: var(--dsw-alias-brand-primary); }
|
|
597
597
|
.pr-btn.primary { background: var(--dsw-alias-brand-primary); border-color: var(--dsw-alias-brand-primary); color: #08111a; font-weight: 600; }
|
|
598
598
|
.pr-btn:disabled { opacity: .5; cursor: default; }
|
|
599
|
-
.pr-board { width: 100%; min-height: 200px; resize: vertical; padding: 10px; border-radius: 8px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size:
|
|
600
|
-
.pr-todo { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px dashed var(--dsw-alias-border-l1); font-size:
|
|
599
|
+
.pr-board { width: 100%; min-height: 200px; resize: vertical; padding: 10px; border-radius: 8px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size: calc(12.5px + var(--dsh-content-font-delta, 0px)); line-height: 1.6; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; outline: none; }
|
|
600
|
+
.pr-todo { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px dashed var(--dsw-alias-border-l1); font-size: calc(12.5px + var(--dsh-content-font-delta, 0px)); }
|
|
601
601
|
.pr-todo input[type=checkbox] { flex: 0 0 auto; }
|
|
602
602
|
.pr-todo-text { flex: 1; min-width: 0; }
|
|
603
603
|
.pr-todo.done .pr-todo-text { text-decoration: line-through; opacity: .55; }
|
|
@@ -619,7 +619,7 @@ window.__ModuleLoader__.load({
|
|
|
619
619
|
display: flex; align-items: flex-start; gap: 5px; padding: 5px 8px;
|
|
620
620
|
border-bottom: 1px solid var(--dsw-alias-border-l1);
|
|
621
621
|
background: var(--dsw-alias-bg-layer-2);
|
|
622
|
-
font-size:
|
|
622
|
+
font-size: calc(11.5px + var(--dsh-content-font-delta, 0px)); font-weight: 600;/* 2026-11-09 用户令:lane 标题完整显示 */
|
|
623
623
|
}
|
|
624
624
|
/* ⚠️ 2026-11-10 补回上面这条规则的收尾花括号:58ca983 改 lane 标题换行时把块尾的 } 弄丢了,
|
|
625
625
|
浏览器(Chrome 120+ 支持 CSS 嵌套)会把 .pr-lane-name 之后的**全部规则**当成
|
|
@@ -629,7 +629,7 @@ window.__ModuleLoader__.load({
|
|
|
629
629
|
.pr-lane-archive {
|
|
630
630
|
margin-left: auto; flex: 0 0 auto; height: 18px; padding: 0 6px; border-radius: 5px;
|
|
631
631
|
border: 1px solid transparent; background: transparent;
|
|
632
|
-
color: var(--dsw-alias-label-secondary); font-size:
|
|
632
|
+
color: var(--dsw-alias-label-secondary); font-size: calc(10px + var(--dsh-content-font-delta, 0px)); line-height: 1; cursor: pointer;
|
|
633
633
|
}
|
|
634
634
|
.pr-lane-archive:hover {
|
|
635
635
|
border-color: var(--dsw-alias-border-l2); background: var(--dsw-alias-bg-layer-1);
|
|
@@ -637,13 +637,13 @@ window.__ModuleLoader__.load({
|
|
|
637
637
|
}
|
|
638
638
|
.pr-lane-dot { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; }
|
|
639
639
|
.pr-lane-sub {
|
|
640
|
-
padding: 0 8px 4px; font-size:
|
|
640
|
+
padding: 0 8px 4px; font-size: calc(9.5px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary);
|
|
641
641
|
border-bottom: 1px solid var(--dsw-alias-border-l1);
|
|
642
642
|
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
643
643
|
}
|
|
644
644
|
.pr-lane-body { flex: 1; min-height: 90px; max-height: 210px; overflow-y: auto; padding: 6px; display: flex; flex-direction: column; gap: 5px; }
|
|
645
645
|
.pr-lane-msg {
|
|
646
|
-
font-size:
|
|
646
|
+
font-size: calc(11px + var(--dsh-content-font-delta, 0px)); line-height: 1.4; color: var(--dsw-alias-label-primary);
|
|
647
647
|
background: var(--dsw-alias-bg-base); border-radius: 6px; padding: 4px 6px;
|
|
648
648
|
display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
|
|
649
649
|
white-space: pre-wrap; word-break: break-word;
|
|
@@ -656,25 +656,25 @@ window.__ModuleLoader__.load({
|
|
|
656
656
|
/* 看板:渲染视图(纵向滚动)+ 编辑切换 */
|
|
657
657
|
.pr-board-section { display: flex; flex-direction: column; min-height: 0; }
|
|
658
658
|
.pr-section-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
|
|
659
|
-
.pr-board-toggle { height: 22px; padding: 0 9px; font-size:
|
|
659
|
+
.pr-board-toggle { height: 22px; padding: 0 9px; font-size: calc(11px + var(--dsh-content-font-delta, 0px)); }
|
|
660
660
|
.pr-board-count {
|
|
661
|
-
margin-left: auto; font-size:
|
|
661
|
+
margin-left: auto; font-size: calc(10px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary);
|
|
662
662
|
font-variant-numeric: tabular-nums; white-space: nowrap;
|
|
663
663
|
}
|
|
664
664
|
.pr-md-view {
|
|
665
665
|
flex: 1; min-height: 120px; max-height: 42vh; overflow-y: auto;
|
|
666
666
|
padding: 8px 10px; border: 1px solid var(--dsw-alias-border-l1); border-radius: 8px;
|
|
667
|
-
background: var(--dsw-alias-bg-layer-1); font-size:
|
|
667
|
+
background: var(--dsw-alias-bg-layer-1); font-size: calc(12px + var(--dsh-content-font-delta, 0px)); line-height: 1.55;
|
|
668
668
|
word-break: break-word;
|
|
669
669
|
}
|
|
670
|
-
.pr-md-h { margin: 6px 0 4px; font-size:
|
|
670
|
+
.pr-md-h { margin: 6px 0 4px; font-size: calc(12.5px + var(--dsh-content-font-delta, 0px)); font-weight: 700; color: var(--dsw-alias-label-primary); }
|
|
671
671
|
.pr-md-h:first-child { margin-top: 0; }
|
|
672
672
|
.pr-md-p { margin: 2px 0; color: var(--dsw-alias-label-primary); white-space: pre-wrap; }
|
|
673
673
|
.pr-md-ul { margin: 3px 0; padding-left: 16px; }
|
|
674
674
|
.pr-md-ul li { margin: 1px 0; }
|
|
675
675
|
.pr-md-code {
|
|
676
676
|
padding: 0 4px; border-radius: 4px; background: var(--dsw-alias-bg-layer-2);
|
|
677
|
-
font-size:
|
|
677
|
+
font-size: calc(11px + var(--dsh-content-font-delta, 0px)); font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
678
678
|
}
|
|
679
679
|
.pr-board-edit { min-height: 200px; max-height: 42vh; }
|
|
680
680
|
.pr-board-actions { display: flex; gap: 8px; margin-top: 6px; align-items: center; }
|
|
@@ -700,10 +700,10 @@ window.__ModuleLoader__.load({
|
|
|
700
700
|
overflow-wrap: anywhere;
|
|
701
701
|
text-overflow: clip;
|
|
702
702
|
}
|
|
703
|
-
.pr-hint { font-size:
|
|
704
|
-
.pr-err { font-size:
|
|
703
|
+
.pr-hint { font-size: calc(11px + var(--dsh-content-font-delta, 0px)); color: var(--dsw-alias-label-secondary); padding: 6px 0; }
|
|
704
|
+
.pr-err { font-size: calc(11.5px + var(--dsh-content-font-delta, 0px)); color: #f87171; padding: 4px 0; }
|
|
705
705
|
.pr-send-row { display: flex; gap: 6px; align-items: center; width: 100%; }
|
|
706
|
-
.pr-select { max-width: 200px; height: 30px; padding: 0 6px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size:
|
|
706
|
+
.pr-select { max-width: 200px; height: 30px; padding: 0 6px; border-radius: 6px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-1); color: var(--dsw-alias-label-primary); font-size: calc(12px + var(--dsh-content-font-delta, 0px)); }
|
|
707
707
|
`;
|
|
708
708
|
|
|
709
709
|
function ensureStyle() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-project-room",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Project rooms for DeepSeek Harness: group sessions into projects, see per-project runtime, and open a room with a shared board, task list, todo queue and message delivery to member sessions.",
|
|
6
6
|
"main": "index.js",
|