feat(web): SVG 图标集替换 Unicode —— tsk_3uhHOGU0qzj0
用 design/assets/icons/ 的 15 个双色 SVG 图标替换现网纯 Unicode 图标: • 拷贝 design/assets/icons/*.svg → web/assets/icons/(15 个) • app.js 顶部新增 ICONS 对象 + icon() 内联 helper • index.html:徽章组(gate/ready/running/deps)、配置按钮(config)、 同步按钮(sync)、搜索输入框(search + filter-search-wrap 包装)、 清除筛选按钮(close)、「新建」/「新建任务」按钮(add) 各区块头加语义图标:project/task/gate/running/flow • app.js 模板字符串:⛓→deps、✕→close(任务行取消/预览关闭/归档关闭)、 依赖等待标签、ap-reason→reason SVG、分支显示→git、事件项 ev-type→event • style.css:新增 svg.icon 基础尺寸规则、filter-search-wrap 布局、 各语义上下文 --icon-accent 注入(暗/浅主题均用 CSS 变量自动适配)、 .ap-reason::before 移除 content:'↳' 改用 SVG • 品牌字符保留不动:▍▮→·— 及状态 CSS 圆点 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+34
-3
@@ -631,8 +631,8 @@ button.cplx-btn:hover { box-shadow: 0 0 8px rgba(216,228,212,.18); }
|
||||
.ap-act-reject { color: var(--red); font-weight: 700; }
|
||||
.ap-gate { color: var(--muted); }
|
||||
.ap-time { color: var(--faint); font-size: 11px; margin-left: auto; }
|
||||
.ap-reason { width: 100%; color: var(--amber); font-size: 12px; padding-left: 14px; }
|
||||
.ap-reason::before { content: '↳ '; color: var(--faint); }
|
||||
.ap-reason { width: 100%; color: var(--amber); font-size: 12px; display: flex; align-items: flex-start; gap: 5px; }
|
||||
.ap-reason svg.icon { color: var(--faint); flex-shrink: 0; margin-top: 1px; }
|
||||
|
||||
.result-kv { font-size: 12px; display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; }
|
||||
.result-kv dt { color: var(--muted); }
|
||||
@@ -657,7 +657,7 @@ button.cplx-btn:hover { box-shadow: 0 0 8px rgba(216,228,212,.18); }
|
||||
border-radius: 1.5px;
|
||||
}
|
||||
.ev-head { display: flex; gap: 8px; align-items: baseline; }
|
||||
.ev-type { font-weight: 600; color: var(--ev, var(--ink)); letter-spacing: .04em; }
|
||||
.ev-type { font-weight: 600; color: var(--ev, var(--ink)); letter-spacing: .04em; display: inline-flex; align-items: center; gap: 4px; }
|
||||
.ev-time { color: var(--faint); font-size: 10.5px; margin-left: auto; flex: none; }
|
||||
.ev-detail { color: var(--muted); margin-top: 1px; word-break: break-word; }
|
||||
.ev-empty { padding: 30px 0; color: var(--faint); text-align: center; border: none !important; }
|
||||
@@ -827,6 +827,37 @@ li.ev-updated { --ev: var(--muted); }
|
||||
.bdg-run:not(.zero) .bdg-ico { animation: pulse .9s infinite; }
|
||||
.bdg.zero { color: var(--faint); border-color: var(--line-soft); animation: none; }
|
||||
|
||||
/* ── SVG 图标集(v1.1 双色调) ── */
|
||||
svg.icon {
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
vertical-align: -0.15em;
|
||||
flex-shrink: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
.sec-head svg.icon,
|
||||
.side-head svg.icon { width: 14px; height: 14px; vertical-align: -3px; }
|
||||
/* 搜索输入框带图标包装 */
|
||||
.filter-search-wrap {
|
||||
position: relative; display: inline-flex; align-items: center;
|
||||
}
|
||||
.filter-search-wrap svg.icon {
|
||||
position: absolute; left: 8px; width: 12px; height: 12px;
|
||||
color: var(--muted); pointer-events: none; vertical-align: 0;
|
||||
}
|
||||
.filter-search-wrap input { padding-left: 28px; }
|
||||
/* ── 图标语义色(--icon-accent 注入,暗/浅主题自动继承 CSS 变量) ── */
|
||||
/* gate 紫 */
|
||||
#bdgGate, .gate-section, .gate-card { --icon-accent: var(--violet); }
|
||||
/* ready / task / add / sync / config / search / git 绿 */
|
||||
#bdgReady, #topActions, .cfg-sync-row, .filter-search-wrap,
|
||||
.dep-item.ok, #taskSection .sec-head, .side-head { --icon-accent: var(--green); }
|
||||
/* running / event / flow 青 */
|
||||
#bdgRun, .agent-section, #eventPanel { --icon-accent: var(--cyan); }
|
||||
/* deps / reason 琥珀 */
|
||||
#bdgBlocked, .dep-item.wait, .t-deps-wait, .ap-reason { --icon-accent: var(--amber); }
|
||||
|
||||
/* ── 依赖可视化 ── */
|
||||
.t-deps-wait {
|
||||
flex: none; font-size: 10.5px; letter-spacing: .06em;
|
||||
|
||||
Reference in New Issue
Block a user