style: 项目图标统一15px + 四类卡片竖向高度统一34px(新建自动继承)

This commit is contained in:
Aisland
2026-08-17 22:03:38 +08:00
parent c9724406c7
commit 1b37df0102
3 changed files with 29 additions and 9 deletions
+9 -7
View File
@@ -52,7 +52,7 @@ export const css = [
'.dsh-wt_manageRow:hover{border-color:var(--dsw-alias-border-l2,#3a4150)}',
'.dsh-wt_manageRowOff{opacity:.45}',
'.dsh-wt_manageGrip{flex:none;color:var(--dsw-alias-label-tertiary,#6e7683);font-size:12px;cursor:grab;user-select:none;-webkit-user-select:none}',
'.dsh-wt_manageIcon{flex:none;width:18px;font-size:13px;text-align:center}',
'.dsh-wt_manageIcon{flex:none;width:20px;font-size:15px;text-align:center}',
'.dsh-wt_manageInput{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--dsw-alias-label-primary,#e6e8eb);font:inherit;font-size:12px;line-height:18px;padding:2px 0}',
'.dsh-wt_manageBtn{flex:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--dsw-alias-label-secondary,#9aa4b2);font-size:11px;line-height:1;cursor:pointer}',
'.dsh-wt_manageBtn:hover{color:var(--dsw-alias-label-primary,#e6e8eb);background:var(--dsw-alias-fill-l1,rgba(255,255,255,.06))}',
@@ -63,7 +63,7 @@ export const css = [
'.dsh-wt_shortcuts{display:flex;flex-direction:column;gap:4px}',
'.dsh-wt_shortcut{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid var(--dsw-alias-border-l1,#262b36);border-radius:8px;background:var(--dsw-alias-fill-l1,rgba(255,255,255,.02));color:var(--dsw-alias-label-primary,#e6e8eb);text-decoration:none;font-size:12px;line-height:18px}',
'.dsh-wt_shortcut:hover{border-color:var(--dsw-alias-state-accent-primary,#4f8ef7);background:var(--dsw-alias-fill-l1,rgba(255,255,255,.05))}',
'.dsh-wt_shortcutIcon{flex:none;font-size:13px}',
'.dsh-wt_shortcutIcon{flex:none;font-size:15px}',
'.dsh-wt_shortcutName{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}',
'.dsh-wt_shortcutBadge{flex:none;font-size:9px;line-height:14px;padding:0 5px;border-radius:8px;background:var(--dsw-alias-fill-l1,rgba(255,255,255,.06));color:var(--dsw-alias-label-tertiary,#6e7683)}',
// 项目区
@@ -101,7 +101,7 @@ export const css = [
'.dsh-wt_layout:hover{border-color:var(--dsw-alias-state-accent-primary,#4f8ef7);background:var(--dsw-alias-fill-l1,rgba(255,255,255,.05))}',
'.dsh-wt_layout[data-on=true]{border-color:var(--dsw-alias-state-accent-primary,#4f8ef7);background:var(--dsw-alias-fill-l1,rgba(255,255,255,.05))}',
'.dsh-wt_layout[data-on=true] .dsh-wt_layoutName{color:var(--dsw-alias-state-accent-primary,#4f8ef7)}',
'.dsh-wt_layoutIcon{flex:none;font-size:13px}',
'.dsh-wt_layoutIcon{flex:none;font-size:15px}',
'.dsh-wt_layoutText{flex:1;min-width:0;display:flex;flex-direction:column;gap:0}',
'.dsh-wt_layoutName{font-size:12px;font-weight:400;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}',
'.dsh-wt_layoutArrow{flex:none;color:var(--dsw-alias-label-tertiary,#6e7683);font-size:14px;line-height:20px}',
@@ -119,13 +119,15 @@ export const css = [
'.dsh-wt_iconCell:hover{background:var(--dsw-alias-fill-l1,rgba(255,255,255,.05));border-color:var(--dsw-alias-border-l2,#3a4150)}',
'.dsh-wt_iconCell[data-on=true]{background:var(--dsw-alias-fill-l1,rgba(255,255,255,.08));border-color:var(--dsw-alias-state-accent-primary,#4f8ef7)}',
// 可点图标(布局卡 / 管理行 / 快捷方式上的图标,点击换 emoji)
'.dsh-wt_iconPick{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:1px;border:none;background:transparent;font:inherit;cursor:pointer;border-radius:4px}',
'.dsh-wt_iconPick{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:1px;border:none;background:transparent;cursor:pointer;border-radius:4px}',
'.dsh-wt_iconPick:hover{background:var(--dsw-alias-fill-l1,rgba(255,255,255,.08))}',
// 四类项目卡片统一竖向高度(常驻×2 / 布局 / 快捷方式;新建条目自动继承)
'.dsh-wt_projects .ta_card,.dsh-wt_projects .pr_card,.dsh-wt_layout,.dsh-wt_shortcut{height:34px;box-sizing:border-box}',
// 入驻项目卡片图标覆盖:data-wt-icon 存在时用 attr() 替换显示(原字符字号压到 0)
'.dsh-wt_projects .ta_cardIcon[data-wt-icon],.dsh-wt_projects .pr_cardIcon[data-wt-icon]{font-size:0;line-height:20px}',
'.dsh-wt_projects .ta_cardIcon[data-wt-icon]::before,.dsh-wt_projects .pr_cardIcon[data-wt-icon]::before{content:attr(data-wt-icon);font-size:13px;line-height:20px}',
// 常驻项目卡片与新建项目统一:emoji 字号 13px、名称不加粗
'.dsh-wt_projects .ta_cardIcon,.dsh-wt_projects .pr_cardIcon{font-size:13px;line-height:20px}',
'.dsh-wt_projects .ta_cardIcon[data-wt-icon]::before,.dsh-wt_projects .pr_cardIcon[data-wt-icon]::before{content:attr(data-wt-icon);font-size:15px;line-height:20px}',
// 常驻项目卡片与新建项目统一:emoji 字号 15px、名称不加粗
'.dsh-wt_projects .ta_cardIcon,.dsh-wt_projects .pr_cardIcon{font-size:15px;line-height:20px}',
'.dsh-wt_projects .ta_cardName,.dsh-wt_projects .pr_cardName{font-weight:400}',
// 头部按钮内的官方 SVG 图标
'.dsh-wt_iconBtn svg{display:block}',
@@ -570,3 +570,15 @@
管理行 ✕ → confirmShown=true → 取消(卡片仍在)→ 再 ✕ 删除 → cardsAfter pr:0 + removed=['planreview'];
布局 ✕ 确认后 layoutsLeft=0;rowsAfterDelete=2;全 STEP 回归 ERROR_COUNT: 0。
- 备注:纯客户端改动,F5 即生效,无需重启 dsh web。
## 补记(图标统一放大 15px + 四类卡片竖向高度统一)
- 用户反馈:① 项目 emoji 放大到 15;② 现有四个项目卡片框的竖向高度不一致,统一;
③ 后续新建的项目也要继承统一高度。
- 处理:
① 全部项目图标 15px:布局卡/快捷方式/常驻卡(含 data-wt-icon ::before 覆盖)/管理行(20px 盒);
顺带修掉 .dsh-wt_iconPick 的 font:inherit 简写(会把字号重置回父级 12px,覆盖 15px 设置)。
② 四类卡片统一 height:34px + box-sizing:border-box:.ta_card/.pr_card/.dsh-wt_layout/.dsh-wt_shortcut;
按类名生效,新建条目自动继承。
- 验证(functional-diag STEP10 扩展 + 种子加 1 条快捷方式):heights ta/pr/layout/shortcut 全 34px;
四类图标 computed 全 15px;删除确认等既有断言不变;ERRORS_COUNT: 0。
- 备注:纯客户端改动,F5 即生效,无需重启 dsh web。
+8 -2
View File
@@ -48,7 +48,7 @@ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
await send('Log.enable');
await send('Page.enable');
await send('Page.addScriptToEvaluateOnNewDocument', {
source: "try{ if(location.origin==='http://127.0.0.1:3080'){ localStorage.setItem('dsh.worktable.view.v1', JSON.stringify({query:'',searchOpen:false,orderBy:'manual',dock:'footer',floatTop:null,sortMigratedV2:true})); localStorage.setItem('dsh.worktable.projects.v1', JSON.stringify({order:[],lastUsed:{},hidden:[],nameOverrides:{},shortcuts:[],layouts:[{id:'t-layout',title:'\u6d4b\u8bd5\u5e03\u5c40',top:null,left:null,main:[{id:'p1',title:'\u5185\u5bb91',min:200,content:null}],leftWidth:{default:260,min:160,max:480},chatWidth:{default:360,min:240,max:600},topHeight:{default:200,min:120,max:480},chatSide:'right',chatFullHeight:false}]})); } }catch(e){}",
source: "try{ if(location.origin==='http://127.0.0.1:3080'){ localStorage.setItem('dsh.worktable.view.v1', JSON.stringify({query:'',searchOpen:false,orderBy:'manual',dock:'footer',floatTop:null,sortMigratedV2:true})); localStorage.setItem('dsh.worktable.projects.v1', JSON.stringify({order:[],lastUsed:{},hidden:[],nameOverrides:{},shortcuts:[{id:'t-sc',name:'\u6d4b\u8bd5\u5feb\u6377',icon:'\ud83d\udd17',href:'https://example.com'}],layouts:[{id:'t-layout',title:'\u6d4b\u8bd5\u5e03\u5c40',top:null,left:null,main:[{id:'p1',title:'\u5185\u5bb91',min:200,content:null}],leftWidth:{default:260,min:160,max:480},chatWidth:{default:360,min:240,max:600},topHeight:{default:200,min:120,max:480},chatSide:'right',chatFullHeight:false}]})); } }catch(e){}",
});
await send('Page.navigate', { url: 'http://127.0.0.1:3080/' });
await sleep(11000);
@@ -192,12 +192,18 @@ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
var out={};
var prIcon=document.querySelector('.dsh-wt_projects .pr_cardIcon');
var taIcon=document.querySelector('.dsh-wt_projects .ta_cardIcon');
var layIcon=document.querySelector('.dsh-wt_layoutIcon');
var scIcon=document.querySelector('.dsh-wt_shortcutIcon');
var taName=document.querySelector('.dsh-wt_projects .ta_cardName');
var laName=document.querySelector('.dsh-wt_layoutName');
if(prIcon) out.prIconSize=getComputedStyle(prIcon).fontSize;
if(taIcon) out.taIconBeforeSize=getComputedStyle(taIcon,'::before').fontSize;
if(layIcon) out.layIconSize=getComputedStyle(layIcon).fontSize;
if(scIcon) out.scIconSize=getComputedStyle(scIcon).fontSize;
if(taName) out.taNameWeight=getComputedStyle(taName).fontWeight;
if(laName) out.laNameWeight=getComputedStyle(laName).fontWeight;
function h(sel){ var el=document.querySelector(sel); return el?Math.round(el.getBoundingClientRect().height):null; }
out.heights={ta:h('.dsh-wt_projects .ta_card'),pr:h('.dsh-wt_projects .pr_card'),layout:h('.dsh-wt_layout'),shortcut:h('.dsh-wt_shortcut')};
out.cardsBefore={ta:document.querySelectorAll('.dsh-wt_projects .ta_card').length,pr:document.querySelectorAll('.dsh-wt_projects .pr_card').length};
var btn=document.querySelector('.dsh-wt_actions .dsh-wt_iconBtn:nth-child(2)');
if(btn){ btn.click(); }
@@ -227,7 +233,7 @@ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
out.cardsAfter={ta:document.querySelectorAll('.dsh-wt_projects .ta_card').length,pr:document.querySelectorAll('.dsh-wt_projects .pr_card').length};
try{ out.removed=JSON.parse(localStorage.getItem('dsh.worktable.projects.v1')).removed }catch(e){ out.removed='ERR' }
out.rowsAfterDelete=document.querySelectorAll('.dsh-wt_manage.dsh-wt_pop .dsh-wt_manageRow').length;
var rows3=document.querySelectorAll('.dsh-wt_manage.dsh-wt_pop .dsh-wt_manageRow');
var rows3=document.querySelectorAll('.dsh-wt_manage.dsh-wt_pop .dsh-wt_manageRow:not(.dsh-wt_manageRowSc)');
var lastRow=rows3[rows3.length-1];
var xBtn3=lastRow&&lastRow.querySelectorAll('.dsh-wt_manageBtn')[lastRow.querySelectorAll('.dsh-wt_manageBtn').length-1];
if(xBtn3){ xBtn3.click(); }