style: 文件夹分组标题与选项同字号加粗+左侧蓝色竖条+微底色,行距拉开

This commit is contained in:
Aisland
2026-08-18 12:41:53 +08:00
parent e1b082796b
commit e8d4df141b
3 changed files with 14 additions and 12 deletions
+4 -3
View File
@@ -213,13 +213,14 @@ export const css = [
'.dsh-wt_selectPh{color:var(--dsw-alias-label-tertiary,#6e7683)}',
'.dsh-wt_selectCaret{flex:none;color:var(--dsw-alias-label-tertiary,#6e7683);font-size:10px;line-height:1}',
'.dsh-wt_selectList{margin-top:4px;max-height:180px;overflow:auto;border:1px solid var(--dsw-alias-border-l2,#3a4150);border-radius:8px;background:var(--dsw-alias-bg-base,#0b0e14);padding:4px;box-shadow:var(--dsw-shadow-lv2,0 8px 24px rgba(0,0,0,.4))}',
'.dsh-wt_selectItem{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:none;border-radius:5px;background:transparent;color:var(--dsw-alias-label-primary,#e6e8eb);font:inherit;font-size:12px;line-height:17px;cursor:pointer;text-align:left}',
'.dsh-wt_selectItem{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;border-radius:5px;background:transparent;color:var(--dsw-alias-label-primary,#e6e8eb);font:inherit;font-size:12px;line-height:17px;cursor:pointer;text-align:left}',
'.dsh-wt_selectItem:hover{background:var(--dsw-alias-fill-l1,rgba(255,255,255,.05))}',
'.dsh-wt_selectItemOn{background:var(--dsw-alias-fill-l1,rgba(255,255,255,.06));color:var(--dsw-alias-state-accent-primary,#4f8ef7)}',
'.dsh-wt_selectItemTitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}',
'.dsh-wt_selectCurrent{flex:none;font-size:10px;color:var(--dsw-alias-label-tertiary,#6e7683)}',
'.dsh-wt_selectDivider{height:1px;background:var(--dsw-alias-border-l1,#262b36);margin:4px 2px}',
'.dsh-wt_selectGroup{display:flex;align-items:center;gap:5px;padding:2px 8px 1px;font-size:10px;letter-spacing:.04em;color:var(--dsw-alias-label-tertiary,#6e7683);user-select:none}',
'.dsh-wt_selectDivider{height:1px;background:var(--dsw-alias-border-l1,#262b36);margin:6px 2px}',
// 文件夹分组标题:与选项同字号、加粗、左侧蓝色竖条 + 微底色,明显区别于下方对话
'.dsh-wt_selectGroup{display:flex;align-items:center;gap:6px;margin:2px 0 2px;padding:6px 8px;border-left:2px solid var(--dsw-alias-state-accent-primary,#4f8ef7);border-radius:4px;background:var(--dsw-alias-fill-l1,rgba(255,255,255,.04));font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--dsw-alias-label-secondary,#9aa4b2);user-select:none}',
'.dsh-wt_customSend{align-self:flex-end;padding:6px 14px;border:none;border-radius:6px;background:var(--dsw-alias-state-accent-primary,#4f8ef7);color:#fff;font:inherit;font-size:12px;cursor:pointer}',
'.dsh-wt_customSend:disabled{opacity:.55;cursor:default}',
'.dsh-wt_customFail{font-size:11px;color:var(--dsw-alias-state-danger,#e5484d);margin:0}',
@@ -639,14 +639,11 @@
原生视图内部是浏览器扩展页,插件注入不了按钮、拦不到鼠标,也驱动不了内部滚动——
向用户如实说明后按指示回退);② 视图选项改名「设置」,点开直接内嵌「排序方式 + 管理项目
展开列表」,不再二次点击;③ 管理项目里给现有项目加「变更视图」:换预设拓扑,
## 补记(自制下拉列表:文件夹分组标题 + 细分隔线)
## 补记(文件夹分组标题视觉区分加强)
- 用户反馈:① 工作区文件夹名(Projects/DeepSeek Harness)在原生 optgroup 里看起来像对话项,
需要明确区分是分组名;② 分隔符是白色大横线太丑,要很细的一条。
- 处理:弃用原生 select/optgroup(无法美化),新写 SelectPop 自制下拉:
组标题 = 📁 图标 + 小号暗色大写文字(不可点击、明显是文件夹名);组间 1px 细分隔线;
选项可点选、当前会话带「(当前)」角标、选中项蓝色高亮;列表 max-height 内滚动。
项目下拉同样换用(顺带根治原生 option 配色问题)。修复过程中两次测试脚本语法损坏已恢复。
- 验证(STEP20 重写断言):selectBtnCount=2、listOpen、groupHeaders=2、dividers=2、
itemCount=13(子代理/archived 已排除)、currentBadge=1;全 20 STEP ERROR_COUNT: 0。
- 用户反馈:文件夹名与下方对话区分度不够。
- 处理:分组标题与选项同字号(12px)、加粗(600)、左侧 2px 蓝色竖条 + 微底色背景块,
文字用次级灰(不用全蓝,避免怪感);行间距拉开(选项 padding 6px、分隔线 margin 6px)。
- 验证(STEP20 断言):groupFontSize=12px、groupWeight=600、groupBorderLeft=2px;
全 20 STEP ERROR_COUNT: 0。
- 备注:纯客户端改动,F5 即生效。
+4
View File
@@ -668,6 +668,10 @@ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
var list=[].slice.call(document.querySelectorAll('.dsh-wt_selectList')).find(function(el){return (getComputedStyle(el).visibility!=='hidden');});
out.listOpen=!!list;
out.groupHeaders=list?list.querySelectorAll('.dsh-wt_selectGroup').length:0;
var gh=list?list.querySelector('.dsh-wt_selectGroup'):null;
out.groupFontSize=gh?getComputedStyle(gh).fontSize:null;
out.groupWeight=gh?getComputedStyle(gh).fontWeight:null;
out.groupBorderLeft=gh?getComputedStyle(gh).borderLeftWidth:null;
out.dividers=list?list.querySelectorAll('.dsh-wt_selectDivider').length:0;
out.itemCount=list?list.querySelectorAll('.dsh-wt_selectItem').length:0;
out.currentBadge=list?list.querySelectorAll('.dsh-wt_selectCurrent').length:0;