feat: v0.4.0 - provider icon system, settings modal & polish

- Add provider icon system with extracted icon library (cc-switch based)

- Persist icon and icon_color in SQLite and config.toml

- Add Settings modal (theme / language / update check / silent download)

- Add useTheme and useUpdateCheck hooks

- Add provider icon picker (IconPicker) with search and grid

- Fix icon frame 2-layer color difference in ProviderEdit

- Dashboard heatmap and daily usage improvements

- Sessions page polish and adaptive layout

- Bump version to 0.4.0
This commit is contained in:
KimiSwitch Dev committed 2026-07-28 16:01:11 +08:00
1 parent 14d48500bf
commit ebf2dd28d5
134 files changed
+2898 -326

No files matched your search

+31
View File
@@ -74,6 +74,13 @@ export const enTranslations: Record<TranslationKey, string> = {
readOnlyPreview: "Editable JSON",
apply: "Apply",
invalidJson: "Invalid JSON: {message}",
clickToSelectIcon: "Click to select icon",
clickToChangeIcon: "Click to change icon",
selectIcon: "Select icon",
clearIcon: "Clear icon",
iconPickerSearch: "Search icons",
iconPickerSearchPlaceholder: "Type an icon name...",
iconPickerNoResults: "No matching icons found",
// Agent / target
target: "Target",
@@ -203,6 +210,30 @@ export const enTranslations: Record<TranslationKey, string> = {
zh: "中文",
en: "English",
// Theme & Settings
themeLight: "Light",
themeDark: "Dark",
themeAuto: "Auto",
settings: "Settings",
settingsTitle: "Settings",
settingsAppearance: "Appearance",
settingsUpdates: "Updates",
settingsAbout: "About",
checkUpdate: "Check for updates",
checking: "Checking…",
upToDate: "You're up to date",
updateAvailable: "Update available",
currentVersion: "Current version",
latestVersion: "Latest version",
downloadUpdate: "Download update",
downloading: "Downloading…",
downloadComplete: "Download complete, click to install",
install: "Install",
updateCheckFailed: "Update check failed",
lastChecked: "Last checked",
appDescription: "Windows desktop LLM provider config manager",
referenceProject: "Reference project",
// Validation errors
emptyProviderName: "Provider name is empty",
duplicateProviderName: "Duplicate provider name: {0}",
+31
View File
@@ -72,6 +72,13 @@ export const zhTranslations = {
readOnlyPreview: "可编辑 JSON",
apply: "应用",
invalidJson: "JSON 格式错误:{message}",
clickToSelectIcon: "点击选择图标",
clickToChangeIcon: "点击更换图标",
selectIcon: "选择图标",
clearIcon: "清除图标",
iconPickerSearch: "搜索图标",
iconPickerSearchPlaceholder: "输入图标名称...",
iconPickerNoResults: "未找到匹配的图标",
// Agent / target
target: "目标",
@@ -198,6 +205,30 @@ export const zhTranslations = {
zh: "中文",
en: "English",
// Theme & Settings
themeLight: "浅色",
themeDark: "深色",
themeAuto: "跟随系统",
settings: "设置",
settingsTitle: "设置",
settingsAppearance: "外观",
settingsUpdates: "更新",
settingsAbout: "关于",
checkUpdate: "检查更新",
checking: "检查中…",
upToDate: "已是最新版本",
updateAvailable: "有新版本可用",
currentVersion: "当前版本",
latestVersion: "最新版本",
downloadUpdate: "下载更新",
downloading: "下载中…",
downloadComplete: "下载完成,点击安装",
install: "安装",
updateCheckFailed: "检查更新失败",
lastChecked: "上次检查",
appDescription: "Windows 桌面端 LLM 供应商配置管理器",
referenceProject: "引用项目",
// Validation errors
emptyProviderName: "供应商名称为空",
duplicateProviderName: "重复的供应商名称:{0}",