feat(ui): 接入 vendor 真实图标库 + 图标选择器

- assets/icons/ 共 80+ 张真实品牌图标嵌入 UI 包
- entry 新增 IconKey 字段,持久化到 config.Entry.IconName
- iconPickerDialog 网格布局图标选择器
- Add 完成后自动弹出图标选择器,Skip 则用 vendor 占位图
- ⋯ 菜单新增 "Change icon..." 项
- vendorIconFor 解析顺序:catalog → vendor 占位 → qr 兜底
This commit is contained in:
2026-06-12 09:41:30 +08:00
parent 352b1d24b8
commit 969600b6ee
95 changed files with 298 additions and 27 deletions
+2 -1
View File
@@ -11,10 +11,11 @@ import (
// in-memory authenticator plus its display name. The vendor string is
// derived from the authenticator's Name() (which already returns
// "google" / "microsoft" / "okta" / "hotp" / "battlenet" / "steam").
func entryFromAuthenticator(name string, a authenticator.Authenticator, hotkey string) config.Entry {
func entryFromAuthenticator(name string, a authenticator.Authenticator, hotkey, iconKey string) config.Entry {
return config.Entry{
Name: name,
Vendor: a.Name(),
IconName: iconKey,
SecretRaw: a.SecretData(),
Hotkey: hotkey,
}