feat(search): 自定义引擎支持图标地址(png / svg)
- settings.search.engines[] 新增 icon:空=品牌图标/通用地球,'/' 开头走托管目录,或 http(s) 链接 - 后端校验图标地址(空 / 托管路径 / http(s),≤500 字符) - 后台每张引擎卡加「图标地址」输入;前后台都用组件库 EngineIcon 的 src(<img> 渲染,SVG 静态不执行脚本) - @stash/ui 0.3.4
This commit is contained in:
@@ -2102,6 +2102,7 @@ function SearchPanel({
|
||||
id: `custom-${Date.now().toString(36)}`,
|
||||
name: '新搜索引擎',
|
||||
url: '',
|
||||
icon: '',
|
||||
enabled: true,
|
||||
},
|
||||
],
|
||||
@@ -2147,7 +2148,7 @@ function SearchPanel({
|
||||
key={engine.id}
|
||||
>
|
||||
<div className="search-engine-head">
|
||||
<EngineIcon name={engine.id} size={18} />
|
||||
<EngineIcon name={engine.id} src={engine.icon} size={18} />
|
||||
<Text strong>{engine.name || engine.id}</Text>
|
||||
<div className="search-engine-actions">
|
||||
<Switch
|
||||
@@ -2178,6 +2179,18 @@ function SearchPanel({
|
||||
/>
|
||||
</FormField>
|
||||
</div>
|
||||
<FormField
|
||||
label="图标地址"
|
||||
htmlFor={`search-icon-${engine.id}`}
|
||||
hint="png / svg;留空用默认图标(内置品牌或通用地球),站内图片放 public/ 后填 /xxx.svg"
|
||||
>
|
||||
<Input
|
||||
id={`search-icon-${engine.id}`}
|
||||
value={engine.icon ?? ''}
|
||||
placeholder="/icons/xxx.svg 或 https://…"
|
||||
onChange={(event) => updateEngine(engine.id, { icon: event.target.value })}
|
||||
/>
|
||||
</FormField>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user