feat(ui): 内置品牌图标库,badge 显示真实平台图标 - 新增 app/static/icons.js:17 个品牌 SVG 离线内嵌 (simple-icons CC0 + tabler MIT:OpenAI/Anthropic/Claude/DeepSeek/OpenRouter/ Google/Gemini/Meta/Perplexity/HuggingFace/Replicate/Baidu/MiniMax/NVIDIA/Qwen/Ollama/LMStudio) - badge 渲染:有图标显示白色品牌图形,无图标回落品牌色缩写
This commit is contained in:
+11
-2
@@ -129,6 +129,15 @@
|
||||
return { color, abbr };
|
||||
}
|
||||
|
||||
/* 品牌图标 badge:有内嵌 SVG 显示真实图标,否则品牌色 + 缩写 */
|
||||
function badgeHtml(iconKey, color, abbr) {
|
||||
const svg = BRAND_ICONS[iconKey];
|
||||
if (!svg) {
|
||||
return `<span class="badge" style="background:${color}">${escapeHtml(abbr)}</span>`;
|
||||
}
|
||||
return `<span class="badge" style="background:${color}"><span class="badge-icon">${svg}</span></span>`;
|
||||
}
|
||||
|
||||
/* ---------- 视图/状态 ---------- */
|
||||
|
||||
function switchView(name) {
|
||||
@@ -209,7 +218,7 @@
|
||||
return `
|
||||
<div class="${cardCls}" style="${animStyle}">
|
||||
<div class="card-head">
|
||||
<div class="badge" style="background:${b.color}">${escapeHtml(b.abbr)}</div>
|
||||
${badgeHtml(plat.icon || "", b.color, b.abbr)}
|
||||
<div class="card-title">
|
||||
<div class="card-platform">${escapeHtml(plat.name || "未知平台")} · ${escapeHtml(plat.currency || "")}</div>
|
||||
<div class="card-name" title="${escapeHtml(a.name)}">${escapeHtml(a.name)}</div>
|
||||
@@ -360,7 +369,7 @@
|
||||
const rowCls = `platform-row ${p.enabled ? "" : "platform-off"}${animate ? "" : " no-anim"}`;
|
||||
return `
|
||||
<div class="${rowCls}" style="${animStyle}">
|
||||
<div class="badge" style="background:${b.color}">${escapeHtml(b.abbr)}</div>
|
||||
${badgeHtml(p.icon || "", b.color, b.abbr)}
|
||||
<div class="platform-info">
|
||||
<div class="platform-name">${escapeHtml(p.name)}
|
||||
${p.enabled ? "" : '<span class="badge-pill disabled">已停用</span>'}
|
||||
|
||||
Reference in New Issue
Block a user